Inverse kinematics data processing method for a manipulator with rope-driven pure rolling joints
A three-stage geometric iterative algorithm is used to solve the equal-angle constraints and joint limit problems of the rope-driven pure rolling joint manipulator, achieving efficient and fast inverse kinematics solution and improving the computational efficiency and operational reliability of the rope-driven pure rolling joint manipulator.
Patent Information
- Application Number
- CN202410474667.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-19
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-04-19
AI Technical Summary
Existing inverse kinematics methods are unable to effectively solve the equal-angle constraints and strict joint limit problems of rope-driven pure rolling joint manipulators, resulting in a low solution success rate and long time consumption, which cannot meet the needs of high-precision automated production and complex operation tasks.
A three-stage geometric iteration algorithm is adopted to handle the equal-angle constraints and joint limits of rope-driven pure rolling joints by constructing a proxy model and geometric iterative solution, combined with random perturbation and branch change measures, thereby improving the solution success rate and speed.
It achieves efficient and fast inverse kinematics solution, improves the computational efficiency and solution success rate of the rope-driven pure rolling joint manipulator, and ensures the reliability and accuracy of the manipulator during operation.
Smart Images

Figure CN118528251B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a mechanical arm, in particular to an inverse kinematics data processing method of a mechanical arm with a rope-driven pure rolling joint. Background Art
[0002] The inverse kinematics of a robotic arm specifically refers to the inverse kinematics of a single-chain serial robotic arm, which is defined as: given the end position of the robotic arm, solving the angles of each joint of the robotic arm.
[0003] Pure rolling occurs when there is no relative sliding between the contact surfaces. For two rigid bodies in pure rolling, the contact points are relatively stationary at the moment of contact. For a rigid circle in pure rolling on a rigid plane, the velocity at the contact point remains zero.
[0004] A rope-driven pure rolling joint refers to a robotic arm joint that uses ropes to drive the joint in a pure rolling motion. These joints include circular and spherical joints, which respectively use a planar pure rolling motion between two rigid circles and a spatial pure rolling motion between two rigid spheres.
[0005] The DH method is a modeling method proposed by Denavit and Hartenberg, mainly used in robot kinematics. This method establishes a coordinate system on each link and realizes the transformation of coordinates on two links through homogeneous coordinate transformation. In a system with multiple links in series, the relationship between the first and last coordinate systems can be established by using homogeneous coordinate transformation multiple times.
[0006] In recent years, a class of robotic arms with cable-driven pure rolling joints has become a hot topic of research and development in both academia and industry. Compared to traditional industrial robotic arms, these arms have joint motors located near the base, with power transmitted to the joints via cables. This reduces arm mass and improves manipulator agility. A notable feature distinguishing these arms from traditional industrial robotic arms is the presence of cable-driven circular pure rolling joints or (and) cable-driven spherical pure rolling joints.
[0007] Although the introduction of rope-driven pure rolling joints improves the performance of the manipulator, it makes the inverse kinematics of the manipulator difficult for two reasons:
[0008] 1. Compared with general rotary joints, rope-driven pure rolling joints have strict joint limits;
[0009] 2. Compared with the revolute joint, the rope-driven pure rolling joint brings pure rolling constraints to the inverse kinematics problem, which is reflected in the above kinematic model as equal-angle constraints.
[0010] The above two reasons make the existing inverse kinematics method unsuitable for solving the inverse kinematics of a manipulator with a rope-driven pure rolling joint or reduce the success rate of the solution.
[0011] The KDL-RR algorithm is a Kinematics and Dynamics Library (KDL) algorithm with a random restart (RR) feature. It is currently the most widely used method for solving inverse kinematics in robotics. The KDL-RR algorithm has the following disadvantages: 1. It is computationally intensive and slow; 2. It is subject to singularity issues; 3. It is sensitive to initial iteration values; and 4. It is difficult to determine whether an iteration has fallen into a local optimum. If the threshold is too small, more iterations are required to determine if the iteration has fallen into a local optimum, increasing the algorithm's time. If the threshold is too large, the random restart feature will be repeatedly executed when the robot arm is near the target pose, causing the iteration to not converge.
[0012] The SQP-SS algorithm is a sequential quadratic programming (SQP) algorithm that uses a sum of squares (SS) error function. It is an iterative algorithm for solving nonlinear optimization problems. It models the inverse kinematics problem of the manipulator as a nonlinear problem. The inverse kinematics model of the manipulator involves joint angle vectors, end-position error vectors, and joint limit constraints. The Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm is used for iterative solution. The BFGS algorithm is a commonly used quasi-Newton method. The difference between the BFGS algorithm and the Newton method is that the quasi-Hessian matrix is replaced by a quasi-Hessian matrix, which reduces the amount of computation. SQP-SS also incorporates detection of local minima and random restart measures during the iterative process. The disadvantages of the SQP-SS algorithm are: 1. Large amount of calculation and slow solution speed: The inverse of the quasi-Hessian matrix requires large amount of calculation, resulting in a slow solution speed; 2. It is sensitive to the initial value of the iteration: the quasi-Newton method used is similar to the Newton method, and inappropriate initial value selection will lead to falling into a local minimum; 3. Similar to the KDL-RR algorithm, it is difficult to determine whether the iteration has fallen into a local optimum.
[0013] Another algorithm, the FABRIK Forward and Backward Reaching Inverse Kinematics (FABRIK), is commonly used to solve inverse kinematics problems in computer graphics. The FABRIK algorithm is a heuristic geometric iterative algorithm that uses previously calculated joint positions and updates them in a forward and backward iteration pattern, adjusting each joint angle one at a time to reduce the error between the entire system and the target configuration. The FABRIK algorithm adjusts each joint sequentially, starting from the last joint and moving forward, and then repeats the same process, starting from the first joint and moving backward. A complete iteration consists of one forward reaching process and one backward reaching process. The FABRIK algorithm does not use joint angle values, but instead finds joint positions by finding points on a straight line, which reduces computational complexity and speeds up the solution. The FABRIK algorithm iterates until the distance between the end point and the target position is less than a specified threshold. However, the FABRIK algorithm cannot handle the isotropic constraints imposed by rope-driven pure rolling joints, making it unsuitable for solving inverse kinematics for manipulators with rope-driven pure rolling joints.
[0014] The rope-driven pure rolling joint brings equal angle constraints and strict joint limits to the inverse kinematics solution of the manipulator, which makes the existing inverse kinematics solution methods of the manipulator unsuitable or reduces the success rate.
[0015] Key issues include:
[0016] 1. Rope-driven pure rolling joints have strict joint limits (compared to revolute joints, rope-driven pure rolling joints have a smaller range of motion). This makes it easier for the KDL-RR and SQP-SS algorithms to violate joint limit constraints during iterations, resulting in an increase in the number of random restarts, which in turn leads to the following adverse effects:
[0017] a) Iteration is difficult to converge;
[0018] b) The algorithm is more sensitive to the selection of initial values;
[0019] c) The algorithm involves the calculation of matrix inversion, which is already computationally intensive. Increasing the number of random restarts further increases the algorithm's time consumption, making it difficult to ensure the algorithm's real-time performance.
[0020] The above adverse effects will reduce the success rate of the KDL-RR algorithm and the SQP-SS algorithm and increase the time consumption.
[0021] 2. The rope-driven pure rolling joint has equal-angle constraints, which makes the FABRIK algorithm unable to be applied to the inverse kinematics solution of the robot arm with rope-driven pure rolling joints.
[0022] It should be noted that the information disclosed in the above background technology section is only used to understand the background of this application, and therefore may include information that does not constitute prior art known to ordinary technicians in this field. Summary of the Invention
[0023] The main purpose of the present invention is to overcome the defects of the above-mentioned background technology and provide an inverse kinematics data processing method for a robotic arm with a rope-driven pure rolling joint. The method is insensitive to initial values, has a small amount of calculation, can cope with strict joint limits, improves the solution success rate and solution speed, and provides accurate and reliable guidance for the design, manufacture or operation control of the robotic arm.
[0024] To achieve the above object, the present invention adopts the following technical solutions:
[0025] A method for processing inverse kinematics data of a robot arm having a rope-driven pure rolling joint comprises the following steps:
[0026] S1. Establish a kinematic model of a robotic arm with a rope-driven pure rolling joint and determine the position and posture of each link;
[0027] S2. Constructing a proxy model of a rope-driven pure rolling joint, thereby obtaining a robot arm proxy model, and analyzing and obtaining the branches of the inverse kinematics solution of the robot arm proxy model;
[0028] S3. Perform geometric iterative solution on the selected branch, with each round of iterative process including a forward reaching phase, a backward reaching phase, and a state update phase; wherein the forward reaching phase is an iterative process of gradually determining the angles of each joint from the end effector of the manipulator toward the base, the backward reaching phase is an iterative process of gradually determining the angles of each joint from the base of the manipulator toward the end effector, and the state update phase is a process of recalculating and adjusting the joint angles and the position of the end effector of the manipulator after the forward reaching phase and the backward reaching phase; during the iterative process, joint angles that exceed the limit are corrected so that they do not exceed the limit range;
[0029] S4, detecting whether the number of times the joint angle exceeds the limit continuously reaches a preset threshold, and if so, performing random perturbation measures to reset the joint angle;
[0030] S5, detecting whether the calculation time or the number of iterations on the branch reaches a preset upper limit, and if so, executing branch change measures to switch branches;
[0031] S6. After completing the current round of geometric iterative solution, determine whether the iteration termination condition is met. If so, return the value of the joint angle as the solution of inverse kinematics. If not, return to step S3 for the next round of iteration and continue to look for a better joint angle solution so as to guide the design, manufacturing or operation control of the robotic arm according to the joint angle solution.
[0032] Preferably, step S1 includes:
[0033] S11. Based on the physical principle of pure rolling, the rope-driven pure rolling joint is equivalent to a pair of coupled revolute joints or two pairs of coupled revolute joints to establish the geometric relationship and motion constraints of the joints. After the equivalence is completed, a kinematic model of the manipulator is established using a kinematic modeling method;
[0034] S12. Based on the determined joint and link parameters, the representation of the pose of each link of the robotic arm in the base coordinate system is obtained according to the pose relationship between the adjacent joint coordinate systems of the robotic arm.
[0035] Preferably, the kinematic modeling method for establishing the kinematic model of the robotic arm includes the DH method or the MDH method, or uses a spinor-based exponential product modeling method.
[0036] Preferably, step S2 includes:
[0037] S21. Replace the circular pure rolling joint and the spherical pure rolling joint with a proxy revolute joint and a proxy universal joint, and determine their positions and joint angle relationships;
[0038] S22, constructing a proxy model of the robotic arm based on the proxy revolute joint, the proxy universal joint, and the proxy link, and treating the proxy revolute joint and the proxy universal joint as nodes in the model;
[0039] S23. Analyze the asymmetric joint limits of circular pure rolling joints, consider the influence of the unit normal vector direction of the motion plane on the branches of the inverse kinematics solution, determine the number and characteristics of the solution branches under different conditions, specifically distinguish the solution branches of a planar manipulator containing only circular pure rolling joints and a spatial manipulator containing spherical pure rolling joints, and determine the number and characteristics of the branches of the inverse kinematics solution.
[0040] Preferably, step S21 includes:
[0041] S211. For a circular pure rolling joint, equate it to a proxy revolute joint located at the intersection of the lines connecting the two circle centers, and ensure that the axis of the proxy revolute joint is parallel to the axis of the original joint and has a specific mathematical relationship with the corresponding original joint angle.
[0042] S212. For a spherical pure rolling joint, equate it to a proxy universal joint located at the intersection of the lines connecting the two sphere centers, and ensure that the axes of the proxy universal joint are parallel to the axes of the original joints and have a specific mathematical relationship with the corresponding original joint angles.
[0043] S213. Merge the orthogonal revolute joints in the robotic arm into a proxy universal joint, use the proxy universal joint to simulate the orthogonal properties of the original revolute joints, and have a corresponding mathematical relationship with the original joint angles.
[0044] Preferably, step S3 includes:
[0045] S31, forward reaching stage: gradually adjust the end nodes of the proxy model to the target position in the order from the end to the base, and update the orientation of each node until the position adjustment of all nodes is completed. During this period, the joint angles that exceed the limit are corrected, and the number of consecutive times the joint angle exceeds the limit is recorded;
[0046] S32, backward reaching stage: gradually adjust the base nodes of the proxy model to their original positions in the order from the base to the end, and update the orientation of each node until all node positions are adjusted. During this period, correct the joint angles that exceed the limit, and record the number of consecutive times the joint angle exceeds the limit;
[0047] S33, state update phase: recalculate the joint angles of the robotic arm based on the updated proxy model node positions and orientations to generate a new proxy model.
[0048] Preferably, step S4 includes:
[0049] S41, judging whether the iteration is in a deadlock state based on the number of consecutive joint exceeding limits described in steps S31 and S32, and if the number of consecutive joint exceeding limits exceeds a predetermined threshold, the iteration is determined to be in a deadlock state;
[0050] S42. If the iteration falls into a deadlock state, the value of the joint angle is randomly selected for each joint according to a uniform probability distribution within the range of motion of the joint, the state of the robotic arm is updated, and then the proxy model is regenerated.
[0051] Preferably, step S5 includes:
[0052] S51, if the calculation time or the number of iterations on the branch reaches a preset upper limit, it is determined that the solution branch needs to be changed;
[0053] S52. If the solution branch needs to be replaced, the solution branch is changed by changing the direction of the unit normal vector of the motion plane, and subsequent iterations are performed on the new solution branch.
[0054] Preferably, step S6 includes:
[0055] S61, the iteration termination conditions include: condition 1, the error between the actual position and the target position of the end of the robot arm is less than a preset threshold; condition 2, the calculation time is greater than a specified upper limit; condition 3, the number of iteration steps is greater than a preset upper limit. If any of the above conditions is met, the iteration is terminated and the current joint angle is returned;
[0056] S62: If all three iteration termination conditions are not met, return to step S3 to perform the next round of iteration.
[0057] The inverse kinematics data processing method of the robot arm with a cable-driven pure rolling joint is applied in designing, manufacturing or controlling the robot arm to perform operation tasks.
[0058] Beneficial effects of the present invention:
[0059] The present invention provides an inverse kinematics data processing method for a robotic arm with a rope-driven pure rolling joint, which achieves efficient and fast inverse kinematics solution. By designing an iterative algorithm that is insensitive to initial values and has a small amount of calculation, it can cope with strict joint limitations and improve the success rate and speed of solution. The inverse kinematics algorithm of the present invention integrates the advantages of existing solutions and can effectively cope with the strict joint limitations and equal angle constraints brought by rope-driven pure rolling joints, which is conducive to promoting the development of rope-driven robotic arms in high-precision automated production and manufacturing and complex operation tasks. The joint angle solution obtained by the processing method of the present invention can provide accurate structural configuration guidance for the design and manufacture of the robotic arm to ensure that the robotic arm can move as expected. At the same time, the obtained joint angle solution can also provide accurate input for the control algorithm of the robotic arm, so that the robotic arm can achieve precise position and posture control when performing operations, effectively ensuring the reliability of the robotic arm during operation.
[0060] Compared with the prior art, the technical effects and advantages of the present invention include:
[0061] (1) The present invention proposes a heuristic geometric iteration method to solve the inverse kinematics of the manipulator, which avoids complex matrix operations, improves computational efficiency and solution speed, and has no singularity problem. Since the heuristic algorithm is less sensitive to initial values than the gradient-based algorithm, it has better robustness.
[0062] (2) The method of constructing the proxy model used in the present invention can effectively handle the equal angle constraints of the rope-driven pure rolling joint, so that the geometric iteration method can be implemented, reducing the computational complexity of each iteration;
[0063] (3) The random perturbation measure and branch change measure used in the present invention can effectively deal with the iterative deadlock problem caused by the strict joint limit of the rope-driven pure rolling joint and the problem of multiple solution branches, thereby improving the solution success rate;
[0064] In summary, the inverse kinematics data processing method for a robotic arm with a rope-driven pure rolling joint of the present invention can effectively cope with the equal-angle constraints and strict joint limits brought by the rope-driven pure rolling joint, has high computational efficiency and solution success rate, effectively ensures the reliability of the robotic arm during operation, and provides key technical support for promoting the technological development and application of robotic arms with rope-driven pure rolling joints.
[0065] Other beneficial effects of the embodiments of the present invention will be further described below. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Figure 1 Schematic diagram of the structure of a robotic arm with a pure rolling joint according to an embodiment of the present invention;
[0067] Figure 2 yes Figure 1 Schematic diagram of the coordinate system of each joint of the robotic arm;
[0068] Figure 3 Schematic diagram of construction of proxy model of rolling joint in an embodiment of the present invention, wherein part a is a schematic diagram of construction of proxy model of circular pure rolling joint; part b is a schematic diagram of construction of proxy model of spherical pure rolling joint;
[0069] Figure 4 yes Figure 1 Schematic diagram of the proxy model construction of the robot arm, where the dotted line part is the proxy model;
[0070] Figure 5 This is a schematic diagram of the inverse kinematics solution process of the robotic arm according to an embodiment of the present invention, wherein part a is the initial state of the agent model and the target position and orientation; parts b to d are schematic diagrams of the forward reaching stage; and parts e to h are schematic diagrams of the backward reaching stage. DETAILED DESCRIPTION
[0071] The following is a detailed description of the embodiments of the present invention. It should be emphasized that the following description is only exemplary and is not intended to limit the scope of the present invention and its application.
[0072] It should be noted that when an element is referred to as being "fixed to" or "disposed on" another element, it can be directly on the other element or indirectly on the other element. When an element is referred to as being "connected to" another element, it can be directly connected to the other element or indirectly connected to the other element. In addition, connection can be used for both fixing and coupling or communication.
[0073] It should be understood that the terms "length", "width", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing the embodiments of the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operate in a specific orientation, and therefore cannot be understood as limiting the present invention.
[0074] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of such features. In the description of the embodiments of the present invention, "plurality" means two or more, unless otherwise specifically defined.
[0075] An embodiment of the present invention provides a method for processing inverse kinematics data of a robotic arm having a rope-driven pure rolling joint, comprising the following steps:
[0076] S1. Establish a kinematic model of a robotic arm with a rope-driven pure rolling joint and determine the position and posture of each link;
[0077] S2. Constructing a proxy model of a rope-driven pure rolling joint, thereby obtaining a robot arm proxy model, and analyzing and obtaining the branches of the inverse kinematics solution of the robot arm proxy model;
[0078] S3. Perform geometric iterative solution on the selected branch, with each round of iterative process including a forward reaching phase, a backward reaching phase, and a state update phase; wherein the forward reaching phase is an iterative process of gradually determining the angles of each joint from the end effector of the manipulator toward the base, the backward reaching phase is an iterative process of gradually determining the angles of each joint from the base of the manipulator toward the end effector, and the state update phase is a process of recalculating and adjusting the joint angles and the position of the end effector of the manipulator after the forward reaching phase and the backward reaching phase; during the iterative process, joint angles that exceed the limit are corrected so that they do not exceed the limit range;
[0079] S4, detecting whether the number of times the joint angle exceeds the limit continuously reaches a preset threshold, and if so, performing random perturbation measures to reset the joint angle;
[0080] S5, detecting whether the calculation time or the number of iterations on the branch reaches a preset upper limit, and if so, executing branch change measures to switch branches;
[0081] S6. After completing the current round of geometric iterative solution, determine whether the iteration termination condition is met. If so, return the value of the joint angle as the solution of inverse kinematics. If not, return to step S3 for the next round of iteration to continue looking for a better joint angle solution.
[0082] The inverse kinematics algorithm of the present invention combines the advantages of existing solutions and can effectively cope with the strict joint limitations and equal angle constraints brought by rope-driven pure rolling joints, which is conducive to promoting the development of rope-driven manipulators in high-precision automated production and manufacturing and complex operation tasks.
[0083] Embodiments of the present invention also provide applications of the inverse kinematics data processing method for a robotic arm with a cable-driven pure rolling joint in design evaluation, manufacturing inspection, or operational task control. The joint angle solutions obtained by this data processing method can provide precise structural configuration guidance for the design and manufacture of the robotic arm, ensuring that the robotic arm can move as intended. Furthermore, the resulting joint angle solutions can provide accurate input for the robotic arm's control algorithm, enabling precise position and posture control during operations and ensuring reliability during operation.
[0084] This paper improves and integrates the related technologies of joint overrun adjustment in the KDL-RR algorithm, random restart measures in the KDL-RR algorithm and the SQP-SS algorithm, and the forward and backward reaching process in the FABRIK algorithm, and proposes the Three-Phase Geometric Iteration (TPGI) algorithm of the present invention. The steps of the TPGI algorithm are summarized as follows: constructing a kinematic model of the robot arm to obtain the position and posture of each link; constructing a proxy model of the robot arm to obtain the inverse kinematic solution branch of the proxy model; selecting a branch for geometric iteration and solving the problem. The iterative process includes a forward reaching phase, a backward reaching phase, and a state update phase. When the joint angle exceeds the limit, it is corrected to the nearest limit value; if a joint angle exceeds the limit for a number of consecutive times that reaches a specified threshold, a random perturbation measure is initiated to reset the joint angle; if the computation time and number of iterations spent on a branch reach the upper limit, a branch change measure is initiated to switch branches; finally, if the iteration termination condition is met, the value of the joint angle returned is the inverse kinematic solution.
[0085] The three-stage geometric iteration algorithm of the embodiment of the present invention solves the inverse kinematics of a manipulator having a rope-driven circular pure rolling joint or (and) a rope-driven spherical pure rolling joint. The method comprises the following steps:
[0086] Step 1: Establish the kinematic model of the robotic arm and obtain the position and posture of each link
[0087] S11. According to the physical principle of pure rolling, the circular pure rolling joint is equivalent to a pair of coupled revolute joints, denoted as (J c1 , J c2 ), J c1 and J c2 The axis of the circular pure rolling joint passes through the two centers of the circular pure rolling joint and is perpendicular to the circular plane. This pair of rotational joints is connected by a connecting rod, which is denoted as L c , whose length is denoted as h c , h c and the radius r of the circle c The relationship is:
[0088] h c=2r c (1)
[0089] (J c1 , J c2 ) is recorded as (θ c1 ,θ c2 ), there is an equal angle constraint:
[0090] θ c1 =θ c2 (2)
[0091] The spherical pure rolling joint is equivalent to two pairs of coupled rotation joints, which are denoted as (J sr1 , J sr2 ) and (J sp1 , J sp2 ), arranged in order from the base to the end, the order of these four joints is (J sr1 , J sp1 , J sp2 , J sr2 ), where J sr1 and J sp1 The axis is perpendicular to the first center of the spherical pure rolling joint, J sr2 and J sp2 The axis is perpendicular to the second center of the spherical pure rolling joint, J sp1 and J sp2 Connected by a connecting rod, this connecting rod is denoted as L s , whose length is denoted as h s , h s With the sphere radius r s The relationship between them is:
[0092] h s =2r s (3)
[0093] (J sr1 , J sr2 ) and (J sp1 , J sp2 ) are denoted as (θ sr1 ,θ sr2 ) and (θ sp1 ,θ sp2 ), there is an equal angle constraint:
[0094] θ sr1 =-θ sr2
[0095] θ sp1 =θ sp2 (4)
[0096] The specific equivalent method of pure rolling joints should adopt the method used in Wu Zhiwei, Wang Bowen, Yan Lei, et al. Design of rope-driven 7-DOF humanoid manipulator and its stiffness modeling and performance analysis [J]. Journal of Mechanical Engineering, 2023, 59(17): 17-32. DOI: 10.3901 / JME.2023.17.017. After the equivalent is completed, the DH method is used to establish the kinematic model of the manipulator, and the joint angle vector of the manipulator is denoted as Θ = [θ1, θ2, ..., θ m-1 ,θ m ], where m is the number of degrees of freedom of the manipulator;
[0097] S12. The position and posture of each link of the manipulator is obtained in the base coordinate system according to the position and posture relationship between the adjacent joint coordinate systems of the manipulator. For the i-th link, its position and posture is calculated as follows:
[0098]
[0099] in, Represents the coordinate system {x j y j z j}In the coordinate system {x j-1 y j-1 z j-1 The pose represented by} is calculated as follows:
[0100]
[0101] Among them, s represents the sine function sin, c represents the cosine function cos, a j represents the connecting rod length, α j represents the connecting rod angle, d j Indicates the connecting rod offset;
[0102] Step 2: Build a proxy model of the pure rolling joint to obtain the proxy model of the robotic arm, analyze and obtain all branches of the inverse kinematics solution of the proxy model
[0103] S21, the (J s1 , J s2 ) is replaced by a proxy rotation joint S r , S r Located in J s1 and J s2 At the intersection of the two outer connecting rods, S r The axis and J s1 and J s2 The axis of S r The joint angle is denoted as θ sr , which is related to θ c1 The following relationship exists:
[0104] θ sr =2θ c1 (7)
[0105] The (J sr1 , J sr2 ) and (J sp1 , J sp2 ) is replaced by a proxy universal joint S u , S u Located in J sr1 and J sr2 At the intersection of the straight lines where the outer connecting rods are connected, the two axes are parallel to J sr1 and J sp1 The axis, S u The two joint angles are denoted as (θ sur ,θ sup ), which is consistent with (θ sr1 ,θ sp1 ) has the following relationship:
[0106] θ sur =θ sr1
[0107] θ sup =2θ sp1 (8)
[0108] For a revolute joint in a robotic arm, if its rotation axis is orthogonal to the rotation axis of the preceding or following revolute joint, it is merged with the preceding or following revolute joint into a proxy universal joint;
[0109] S22. After all proxy joints are obtained, the lines between the proxy joints are proxy links. All proxy joints and proxy links constitute the proxy model of the robot arm. The proxy joints are regarded as nodes in the proxy model and are recorded as (N0, N1, ..., N n-1 , N n ), where N0 is the base, N n As the end, the proxy link is recorded as (L1, L2, ..., L n-1 , L n );
[0110] S23, circular pure rolling joints have asymmetric joint limits, that is, their joint angles can only be positive or negative. This is caused by mechanical design. For details, please refer to Y.-J. Kim, Anthropomorphic low-inertia high-stiffness manipulator for high-speed safe interaction, IEEE Trans. Rob. 33(6)(2017)1358-1374. Asymmetric joint limits may cause multiple inverse kinematics solution branches. The following discusses the following cases: Case 1, for a planar manipulator (excluding spherical pure rolling joints), there is only one solution branch; Case 2, for a spatial manipulator, if Sr described in S21 cannot form a universal joint with the front or rear rotation joint, then when the direction of the unit normal vector of the selected motion plane is opposite, the calculated joint angle will be the opposite number. Because the circular pure rolling joint has asymmetric joint limits, two unequal solution branches will be generated.
[0111] Step 3: Perform geometric iteration on a selected branch. The iteration process includes the forward reaching stage, the backward reaching stage, and the state updating stage. The forward reaching stage and the backward reaching stage should adopt the method used in A. Aristidou, J. Lasenby, Fabrik: A fast, iterative solver for the inverse kinematics problem, Graph. Models 73(5)(2011)243-260. During the iteration process, the joint angles that exceed the limit need to be corrected.
[0112] S31, forward reaching stage: first, the end N of the proxy model n Move to the target position and move the end link L n The direction of the L is aligned with the target direction, and the L after the move n The two endpoints are denoted as N′ n-1 and N′ n , at this time N′ n-1 It becomes the new target position, connecting rod L n-1 Endpoint N n-2 and the new target position N′ n-1 The connecting line becomes the new target direction; n-1 The endpoint moves to the target position N′ n-1 , connect the connecting rod L n-1 Direction and target direction N n-2 N′ n-1 , aligned, moved L n-1 The two endpoints are denoted as N′ n-2 and N′n-1 , at this time N′ n-2 It becomes the new target position, connecting rod L n-2 Endpoint N n-3 and the new target position N′ n-2 The line connecting the ends of the nodes becomes the new target direction; ... Repeat the above steps in the order from the end to the base until the positions of all nodes after movement (N'0, N'1, ..., N' n-1 , N′ n ); In the above process, if the joint angle exceeds the limit, the joint angle is corrected to the nearest limit value and the node position is recalculated, and the number of consecutive joint exceeding the limit is recorded;
[0113] S32, backward reaching stage: first, move the base link L1 to the original position N0N1, and record the two end points as N″0 and N″1, then N″1 becomes the new target position, and the line connecting N″1 and the end point N′2 of the link L2 becomes the new target direction; ... repeat the above steps in the order from the base to the end until all the moved node positions (N″0, N″1, ..., N″ n-1 ,N″ n ); In the above process, if the joint angle exceeds the limit, the joint angle is corrected to the nearest limit value and the node position is recalculated, and the number of consecutive joint exceeding the limit is recorded;
[0114] S33, state update phase: according to the calculation method of vector angle, the joint angle Θ of the proxy model is obtained s , according to the relationship between the joint angles of the manipulator joint and the proxy joint described in S21, the joint angle Θ of the manipulator is calculated as the new state after one iteration, and then the proxy model is regenerated according to the methods described in S21 and S22;
[0115] Step 4: Check if the iteration is deadlocked, and if so, perform random perturbation measures
[0116] S41, judging whether the iteration is in a deadlock state based on the number of consecutive joint exceeding limits described in S31 and S32, and if the number of consecutive joint exceeding limits exceeds a predetermined threshold, it is determined that the iteration is in a deadlock state;
[0117] S42. If the iteration falls into a deadlock state according to the judgment method described in S41, randomly select a joint angle value for each joint from the motion range of the joint according to a uniform probability distribution, update the state of the robot arm, and then regenerate the proxy model according to the methods described in S21 and S22;
[0118] Step 5: Check whether the solution branch needs to be changed. If so, execute the branch change measures.
[0119] S51. If the calculation time or the number of iterations in the branch reaches a specified upper limit, it is determined that the solution branch needs to be changed;
[0120] S52. According to the determination method described in S51, if it is necessary to change the solution branch, the solution branch is changed by changing the direction of the unit normal vector of the motion plane described in S23, and subsequent iterations are performed on the new solution branch;
[0121] Step 6: Determine whether the iteration termination condition is met. If so, return to the final joint angle. If not, return to step 3.
[0122] S61, there are three conditions for the termination of the iteration: condition 1, the error between the actual position and the target position of the end of the robot arm is less than the specified threshold; condition 2, the calculation time is greater than the specified upper limit; condition 3, the number of iteration steps is greater than the specified upper limit. If any of the above conditions is met, the iteration is terminated and the current joint angle is returned;
[0123] S62: If the three iteration termination conditions described in S61 are not met, return to step 3.
[0124] In some embodiments, in addition to using the DH method to establish the kinematic model of the robotic arm in step S11, the modified DH (MDH) method proposed by Khalil and Kleinfinger can also be used, or the exponential product modeling method based on the spinor can be used. Generally speaking, any method that can perform positive kinematic modeling of the robotic arm is applicable here; further, the calculation method of the connecting rod posture in S12 is consistent with the method used in S11.
[0125] Examples and Verification
[0126] Figure 1 This diagram shows the structure of a robotic arm. It includes a circular pure rolling joint 1, a spherical pure rolling joint 2, a revolute joint 3, and an end effector 4, connected in sequence by connecting rods to form the robotic arm system. The revolute joint 3 and the pure rolling joint work together to enable end effector 4 to be positioned and manipulated in three-dimensional space. Figure 2 The circular pure rolling joint 1 and the spherical pure rolling joint 2 in the robotic arm are shown in FIG.
[0127] Step 1: Combine Figure 1 The robot arm configuration shown in the figure uses the DH method to establish the kinematic model of the robot arm, combined with Figure 2 As shown, the DH parameters corresponding to the manipulator are detailed in Table 1. According to the pure rolling constraint of the pure rolling joint, the following equal angle constraints exist:
[0128] θ3-θ4=0
[0129] θ5-θ6=0
[0130] θ7+θ 10 =0
[0131] θ8-θ9=0 (9)
[0132] According to the posture relationship between the adjacent joint coordinate systems of the manipulator, the posture of each link of the manipulator is expressed in the base coordinate system. For the i-th link, its posture is calculated as follows:
[0133]
[0134] Table 1 DH parameters of the robot arm with pure rolling joints
[0135]
[0136]
[0137] Step 2: Combine Figure 3 As shown, the proxy model of the pure rolling joint is constructed, wherein the proxy model of the circular pure rolling joint is the revolute joint 3, which is connected to the outer link 5. The proxy model of the spherical pure rolling joint is the universal joint 6, which is connected to the outer link 5. Figure 4 As shown in the figure, a proxy model of the manipulator is constructed. The first rotation joint and the second rotation joint orthogonal to it are combined into a proxy universal joint. Then, all proxy joints are connected to obtain a proxy link. The proxy joint angle is recorded as (θ s 1, θ s2 ,θ s3 ,θ s4 ,θ s5 ,θ s6 ), and its relationship with the original robot arm joint angle is:
[0138] θ s1 =θ1
[0139] θ s2 =θ2
[0140] θ s3 =2θ3
[0141] θ s4 =2θ5
[0142] θ s5 =θ7
[0143] θ s6 =2θ8 (11)
[0144] The proxy link is denoted as (L1, L2, L3, L4, L5), and its length is denoted as (l1, l2, l3, l4, l5). The calculation formula is:
[0145] l1=d1
[0146]
[0147] The proxy joints are regarded as nodes in the proxy model and are recorded as (N0, N1, N2, N3, N4, N5), where N0 is the base and N5 is the end. The calculation formula of the node position is:
[0148]
[0149] Among them, e i is the unit vector of the proxy link, combined with Figure 2 and Figure 4 As shown, e i It can be expressed as:
[0150] e1=z0
[0151] e2=x2
[0152] e3=x4
[0153] e4=z6
[0154] e5=z 10 (14)
[0155] Since the two circular pure rolling joints of the robot arm are coplanar, its proxy model cannot form a universal joint with its front or rear rotation joint, resulting in two inequivalent solution branches;
[0156] Step 3: Combine Figure 5 As shown, the proxy model is geometrically iterated, the initial state of the proxy model and the target position p t and target pointing to e t like Figure 5 As shown in a, nodes N0, N1, N2, N3, and N4 are located in the same motion plane Φ; combined Figure 5 As shown in b~d, the iteration enters the forward reaching stage, combined with Figure 5 As shown in b, move N5 to p t :
[0157] N′5=p t
[0158] e5=e t (15)
[0159] Move N4 to N′4, N′4 is located at e t On the straight line and l5 away from N′5:
[0160] N′4=N′5-l5e5 (16)
[0161] Then a new motion plane Φ′ is determined by N0, N1 and N′4, and its unit normal vector n p Calculate as follows:
[0162] n p =N1×N′4 / |N1×N′4| (17)
[0163] Combine Figure 5 As shown in c, N3 is projected onto Φ′ to obtain a new node Move N3 to N′3, N′3 is on the straight line The calculation formula of this process is as follows:
[0164]
[0165] N′3=N′4-l4e4 (18)
[0166] Combine Figure 5 As shown in d, project N2 onto Φ′ to obtain a new node Move N2 to N′2, N′2 is on the straight line The calculation formula of this process is as follows:
[0167]
[0168] N′2=N′3-l3e3 (19)
[0169] Combine Figure 5 As shown in Figures e to h, the iteration enters the backward reaching stage, and the node positions are updated in a similar way to the forward reaching stage. However, according to the order from the beginning to the end, the node positions after the end of this stage are (N″0, N″1, N″2, N″3, N″4, N″5), with N″0 and N″1 overlapping with N0 and N1 respectively. The positions of other nodes are calculated as follows:
[0170] e i =N″ i-1 N′ i / |N″ i-1 N′ i |
[0171] N″ i =N″ i-1 +l i e i , 2≤i≤5 (20)
[0172] Finally, the iteration enters the state update phase. According to analytic geometry, the calculation formula of the agent joint angle after the node position is updated is:
[0173] θ s1=atan2(x0·n p , -y0·n p )
[0174] θ s2 =atan2(e1×e2·n p , e1·e2)
[0175] θ s3 =atan2(e2×e3·n p , e2·e3)
[0176] θ s4 =atan2(e3×e4·n p , e3·e4)
[0177] θ s5 =atan2(-y6·e5,-x6·e5)
[0178] θ s6 =acos(e4·e5) (21)
[0179] Where atan2 represents the four-quadrant inverse tangent function, acos represents the inverse cosine function, and then the corresponding joint angle of the manipulator is calculated according to formula (11). After completing one iteration, the state of the manipulator is updated. In the above process, if the joint angle exceeds the limit, the joint angle is corrected to the nearest limit value and the node position is recalculated, and the number of consecutive joint exceeding limits is recorded.
[0180] Step 4: Set the threshold for the number of consecutive joint limit violations to 2. That is, if a joint exceeds the limit twice in a row, the iteration is considered to be in a deadlock state. At this time, the random perturbation measure is activated, and a random perturbation that obeys a uniform distribution is applied to all joint angles. The resulting new joint angles are:
[0181] θ i =θ imin +(θ imax -θ imin )rand i , i=1, 2, 3, 5, 7, 8 (22)
[0182] Among them, rand i is a uniformly distributed random variable in the interval (0, 1). After random perturbation, the agent model is reconstructed according to equations (11) to (13).
[0183] Step 5: The maximum computation time for each branch is set to 25ms, and the maximum number of iterations is set to 500. If the upper limit is exceeded, the branch is replaced by changing the direction of the plane normal vector calculated in equation (17):
[0184] n p = -N1×N′4 / |N1×N′4| (23)
[0185] The subsequent iteration is performed on the new branch, that is, the unit normal vector of the motion plane is calculated according to formula (23);
[0186] Step 6: Set the termination condition for the iteration as follows: Condition 1: The error between the actual position of the end of the robot arm and the target position is less than the specified threshold:
[0187] norm(e po )<ε (24)
[0188] The pose error e po Calculate as follows:
[0189] e p =N5-p t
[0190] e o =acos(e5·e t )
[0191]
[0192] Threshold ε = 10 -6 ; Condition 2: The calculation time is greater than the specified upper limit, which is set to 50ms here; Condition 3: The number of iteration steps is greater than the specified upper limit, which is set to 1000 times here; If one of the above three conditions is met, the iteration is terminated and the current joint angle is returned, otherwise return to step 3.
[0193] To verify the effectiveness of the method proposed in the present invention, a computer simulation was performed on the method described in the embodiment. The simulation environment was MATLAB R2020a, Windows 11, 12th Gen Intel (R) Core (TM) i5-12400F, and the simulation steps were as follows:
[0194] 1. Randomly sample a set of joint angles according to a uniform distribution within the range of joint angle motion;
[0195] 2. Calculate the target pose based on the joint angles and forward kinematics sampled in the previous step;
[0196] 3. Randomly sample a set of joint angles according to a uniform distribution within the range of joint angle motion as the initial value of the iteration;
[0197] 4. Take the target pose and initial iteration value as input and run the inverse kinematics method;
[0198] 5. Record the operation of the inverse kinematics method, including whether it is successful, the running time and the number of iterations;
[0199] 6. Repeat steps 1 to 5 10,000 times.
[0200] To further highlight the advantages of the algorithm proposed in this paper, a Jacobi pseudo-inverse method and a sequential quadratic programming method are selected as baseline methods, corresponding to the KDL-RR algorithm and the SQP-SS algorithm, respectively. The simulation results are shown in Table 2. It can be seen that when the required pose error is the same, the method proposed in this paper has the highest success rate and the shortest running time and number of iterations. This shows that the method proposed in this paper can effectively solve the inverse kinematics problem of the robotic arm with pure rolling joints and has high computational efficiency.
[0201] Table 2 Simulation results of inverse kinematics method
[0202]
[0203] Compared with the prior art, the advantages of the present invention include:
[0204] (1) The present invention uses a heuristic geometric iteration method to solve the inverse kinematics of the manipulator, avoiding complex matrix operations, improving computational efficiency and solution speed, and eliminating singularity problems. Since the heuristic algorithm is less sensitive to initial values than the gradient-based algorithm, it has better robustness.
[0205] (2) The method of constructing the proxy model used in the present invention can effectively handle the equal angle constraints of the rope-driven pure rolling joint, so that the geometric iteration method can be implemented, reducing the computational complexity of each iteration;
[0206] (3) The random perturbation measure and branch change measure used in the present invention can effectively deal with the iterative deadlock problem caused by the strict joint limit of the rope-driven pure rolling joint and the problem of multiple solution branches, thereby improving the solution success rate;
[0207] In summary, the present invention proposes an inverse kinematics data processing method for a robotic arm with a rope-driven pure rolling joint, which can effectively deal with the equal-angle constraints and strict joint limits brought by the rope-driven pure rolling joint, has high computational efficiency and solution success rate, effectively guarantees the reliability of the robotic arm during operation, and provides key technical support for promoting the development and application of robotic arms with rope-driven pure rolling joints. The joint angle solution obtained by the method of the present invention can provide accurate structural configuration guidance for the design and manufacture of the robotic arm, to ensure that the robotic arm can move as expected. At the same time, the obtained joint angle solution can also provide accurate input for the control algorithm of the robotic arm, so that the robotic arm can achieve precise position and posture control when performing operations, effectively ensuring the reliability of the robotic arm during operation. The present invention is suitable for high-precision automated production and complex operation tasks, and is of great significance to promoting the development of rope-driven robotic arm technology.
[0208] An embodiment of the present invention further provides a storage medium for storing a computer program, which at least performs the above method when executed.
[0209] An embodiment of the present invention further provides a control device, comprising a processor and a storage medium for storing a computer program; wherein the processor is configured to execute at least the method described above when executing the computer program.
[0210] An embodiment of the present invention further provides a processor, which executes a computer program and at least performs the method described above.
[0211] The storage medium can be implemented by any type of non-volatile storage device, or a combination thereof. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a read-only optical disc (CD-ROM); the magnetic surface memory can be a magnetic disk memory or a magnetic tape memory. The storage medium described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0212] In the several embodiments provided by the present invention, it should be understood that the disclosed systems and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0213] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0214] In addition, all functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0215] Those skilled in the art will appreciate that all or part of the steps of the above-mentioned method embodiments may be implemented by hardware associated with program instructions, and the aforementioned program may be stored in a computer-readable storage medium. When the program is executed, the program executes the steps of the above-mentioned method embodiments. The aforementioned storage medium includes various media that can store program codes, such as mobile storage devices, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks.
[0216] Alternatively, if the above-mentioned integrated unit of the present invention is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.
[0217] The methods disclosed in the several method embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new method embodiments.
[0218] The features disclosed in several product embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new product embodiments.
[0219] The features disclosed in several method or device embodiments provided by the present invention can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0220] The above is a further detailed description of the present invention in conjunction with specific preferred embodiments, and the specific implementation of the present invention should not be considered to be limited to these descriptions. Those skilled in the art will recognize that, without departing from the scope of the present invention, several equivalent substitutions or obvious variations can be made, and the performance or use of the same should be considered to fall within the scope of protection of the present invention.
Claims
1. A method for processing inverse kinematics data of a robot arm with a rope-driven pure rolling joint, characterized in that: The steps include: S1. Establish a kinematic model of a robotic arm with a rope-driven pure rolling joint and determine the position and posture of each link; S2. Constructing a proxy model of a rope-driven pure rolling joint, thereby obtaining a robot arm proxy model, and analyzing and obtaining the branches of the inverse kinematics solution of the robot arm proxy model; S3. Perform geometric iterative solution on the selected branch, with each round of iterative process including a forward reaching phase, a backward reaching phase, and a state update phase; wherein the forward reaching phase is an iterative process of gradually determining the angles of each joint from the end effector of the manipulator toward the base, the backward reaching phase is an iterative process of gradually determining the angles of each joint from the base of the manipulator toward the end effector, and the state update phase is a process of recalculating and adjusting the joint angles and the position of the end effector of the manipulator after the forward reaching phase and the backward reaching phase; during the iterative process, joint angles that exceed the limit are corrected so that they do not exceed the limit range; S4, detecting whether the number of times the joint angle exceeds the limit continuously reaches a preset threshold, and if so, performing random perturbation measures to reset the joint angle; S5, detecting whether the calculation time or the number of iterations on the branch reaches a preset upper limit, and if so, executing branch change measures to switch branches; S6. After completing the current round of geometric iterative solution, determine whether the iteration termination condition is met. If so, return the value of the joint angle as the solution of inverse kinematics. If not, return to step S3 for the next round of iteration and continue to look for a better joint angle solution so as to guide the design, manufacturing or operation control of the robotic arm according to the solution of inverse kinematics.
2. The inverse kinematics data processing method for a robot arm with a cable-driven pure rolling joint according to claim 1, characterized in that: Step S1 includes: S11. Based on the physical principle of pure rolling, the rope-driven pure rolling joint is equivalent to a pair of coupled revolute joints or two pairs of coupled revolute joints to establish the geometric relationship and motion constraints of the joints. After the equivalence is completed, a kinematic model of the manipulator is established using a kinematic modeling method; S12. Based on the determined joint and link parameters, and according to the pose relationship between adjacent joint coordinate systems of the robotic arm, obtain the representation of the pose of each link of the robotic arm in the base coordinate system.
3. The inverse kinematics data processing method for a robot arm with a cable-driven pure rolling joint according to claim 2, characterized in that: The kinematic modeling methods for establishing the kinematic model of the robotic arm include the DH method or the MDH method, or the exponential product modeling method based on the spinor.
4. The inverse kinematics data processing method for a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 3, characterized in that: Step S2 includes: S21. Replace the circular pure rolling joint and the spherical pure rolling joint with a proxy revolute joint and a proxy universal joint, and determine their positions and joint angle relationships; S22, constructing a proxy model of the robotic arm based on the proxy revolute joint, the proxy universal joint, and the proxy link, and treating the proxy revolute joint and the proxy universal joint as nodes in the model; S23. Analyze the asymmetric joint limits of circular pure rolling joints, consider the influence of the unit normal vector direction of the motion plane on the branches of the inverse kinematics solution, determine the number and characteristics of the solution branches under different conditions, specifically distinguish the solution branches of a planar manipulator containing only circular pure rolling joints and a spatial manipulator containing spherical pure rolling joints, and determine the number and characteristics of the branches of the inverse kinematics solution.
5. The inverse kinematics data processing method for a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 3, characterized in that: Step S21 includes: S211. For a circular pure rolling joint, equate it to a proxy revolute joint located at the intersection of the lines connecting the two circle centers, and ensure that the axis of the proxy revolute joint is parallel to the axis of the original joint and has a specific mathematical relationship with the corresponding original joint angle. S212. For a spherical pure rolling joint, equate it to a proxy universal joint located at the intersection of the lines connecting the two sphere centers, and ensure that the axes of the proxy universal joint are parallel to the axes of the original joints and have a specific mathematical relationship with the corresponding original joint angles. S213. Merge the orthogonal revolute joints in the robotic arm into a proxy universal joint, use the proxy universal joint to simulate the orthogonal properties of the original revolute joints, and have a corresponding mathematical relationship with the original joint angles.
6. The inverse kinematics data processing method for a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 3, characterized in that: Step S3 includes: S31, forward reaching stage: gradually adjust the end nodes of the proxy model to the target position in the order from the end to the base, and update the orientation of each node until the position adjustment of all nodes is completed. During this period, the joint angles that exceed the limit are corrected, and the number of consecutive times the joint angle exceeds the limit is recorded; S32, backward reaching stage: gradually adjust the base nodes of the proxy model to their original positions in the order from the base to the end, and update the orientation of each node until all node positions are adjusted. During this period, correct the joint angles that exceed the limit, and record the number of consecutive times the joint angle exceeds the limit; S33, state update phase: recalculate the joint angles of the robotic arm based on the updated proxy model node positions and orientations to generate a new proxy model.
7. The inverse kinematics data processing method for a robot arm with a cable-driven pure rolling joint according to claim 6, characterized in that: Step S4 includes: S41, judging whether the iteration is in a deadlock state based on the number of consecutive joint exceeding limits described in steps S31 and S32, and if the number of consecutive joint exceeding limits exceeds a predetermined threshold, the iteration is determined to be in a deadlock state; S42. If the iteration falls into a deadlock state, the value of the joint angle is randomly selected for each joint according to a uniform probability distribution within the range of motion of the joint, the state of the robotic arm is updated, and then the proxy model is regenerated.
8. The inverse kinematics data processing method for a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 3, characterized in that: Step S5 includes: S51, if the calculation time or the number of iterations on the branch reaches a preset upper limit, it is determined that the solution branch needs to be changed; S52. If the solution branch needs to be replaced, the solution branch is changed by changing the direction of the unit normal vector of the motion plane, and subsequent iterations are performed on the new solution branch.
9. The inverse kinematics data processing method for a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 3, characterized in that: Step S6 includes: S61, the iteration termination conditions include: condition 1, the error between the actual position and the target position of the end of the robot arm is less than a preset threshold; condition 2, the calculation time is greater than a specified upper limit; condition 3, the number of iteration steps is greater than a preset upper limit. If any of the above conditions is met, the iteration is terminated and the current joint angle is returned; S62: If all three iteration termination conditions are not met, return to step S3 to perform the next round of iteration.
10. Application of the inverse kinematics data processing method of a manipulator with a cable-driven pure rolling joint according to any one of claims 1 to 9 in design evaluation, manufacturing inspection or operation task control.
Citation Information
Patent Citations
Human-machine cooperation oriented bionic lightweight mechanical arm
CN110202559A
Unit mechanism of cable-driven multi-joint robot
CN112296992A