A dual-arm robot joint motion distribution method based on energy consumption gradient guidance
Patent Information
- Application Number
- CN202611454415.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-18
- Publication Date
- 2026-10-23
AI Technical Summary
[0005]本发明的目的是提供一种基于能耗梯度引导的双臂机器人关节运动分配方法,能根据双臂机器人当前运动状态自适应选择有效运动关节,并进一步对有效运动关节进行优化,进而解决现有冗余机器人逆运动学求解过程中存在的无效关节运动进而导致能耗增加的技术问题
[0016]通过引入基于惯性矩阵的能耗代价函数,可在满足末端位姿约束的同时降低机器人运动能耗;通过结合双臂自碰撞约束,有效提升了双臂协同运动过程中的安全性与稳定性;通过利用能耗梯度作为关节运动参与度指标,可根据机器人当前状态自适应筛选有效运动关节,减少非必要关节运动;通过采用基于高斯函数的连续稀疏激活策略,可避免传统稀疏优化中存在的运动不连续问题;通过自适应任务权重协调关节限位任务与能耗优化任务,提高了多任务优化过程中的稳定性;对有效运动进行优化,从而进一步降低系统能耗。
Smart Images

Figure CN122956486A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot motion control technology, and in particular to a method for joint motion allocation in a dual-arm robot based on energy consumption gradient guidance. Background Technology
[0002] Dual-arm robots, due to their high operational flexibility and collaborative operation capabilities, have been widely used in collaborative handling, assembly operations, and complex environment operations. Compared to single-arm robots, dual-arm robots typically have higher degrees of freedom and more complex structural coupling relationships. Therefore, achieving reasonable allocation of joint motion while satisfying end-effector pose constraints is a key issue in the motion control of dual-arm robots. Currently, methods for solving the inverse kinematics of dual-arm robots mainly include model-based methods and model-free methods. Among them, model-based methods mainly include pseudo-inverse-based methods and optimization-based methods. Pseudo-inverse-based methods have the advantage of high computational efficiency, but are prone to generating invalid joint motions; optimization-based methods can constrain joint motions by constructing cost functions, but usually suffer from high computational costs. Model-free methods mainly rely on neural networks to establish nonlinear mapping relationships. Although this can improve the solution speed, it is prone to generating large end-effector tracking errors, making it difficult to meet the requirements of high-precision motion control. In addition, due to the high redundant degrees of freedom of dual-arm robots, the reasonable allocation of joint motions in null space is difficult, which can easily lead to unnecessary joint participation in motion, thereby increasing system energy consumption and reducing overall operating efficiency. Existing methods often assume all joints in the null space participate in motion during inverse kinematics solving, which can easily lead to an increase in unnecessary joint motion and thus increase system energy consumption. To reduce unnecessary joint motion, existing research typically employs sparse optimization methods to constrain joint motion. The L0 norm can directly characterize the sparsity of joint motion, but due to its discontinuity and difficulty in direct solution, existing methods usually approximate the L0 norm with continuous functions. However, most existing sparse methods only suppress unnecessary joints and do not optimize activated joints. Furthermore, in optimizing the target task, traditional methods typically use fixed weights to coordinate different tasks, making it difficult to adaptively adjust based on the robot's current motion state.
[0003] Therefore, the problem to be solved is how to provide a method for joint motion allocation of a dual-arm robot that can adaptively select effective motion joints based on the current motion state of the dual-arm robot and further optimize the effective motion joints.
[0004] In view of this, the present invention is hereby proposed. Summary of the Invention
[0005] The purpose of this invention is to provide a method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance. This method can adaptively select effective motion joints according to the current motion state of the dual-arm robot and further optimize the effective motion joints, thereby solving the technical problem of increased energy consumption caused by invalid joint motions in the inverse kinematics solution process of existing redundant robots.
[0006] The objective of this invention is achieved through the following technical solution:
[0007] A method for joint motion allocation in a dual-arm robot based on energy consumption gradient guidance, comprising:
[0008] Step 1: Establish the forward kinematics model of the dual-arm robot;
[0009] Step 2: Calculate the current end-effector pose of the dual-arm robot using the forward kinematics model from Step 1, and establish an inverse kinematics error model based on the desired end-effector pose of the dual-arm robot.
[0010] Step 3: Based on the inverse kinematic error model in Step 2, combine the energy consumption cost function constructed based on the inertial matrix of the dual-arm robot and the collision detection cost function constructed through self-collision detection between the two arms, and obtain the energy consumption gradient and collision cost gradient by calculating the gradients of the energy consumption cost function and the collision detection cost function respectively. Then, obtain the main task joint angle correction amount by numerical iteration method.
[0011] Step 4: Establish the joint limiting task and energy consumption optimization task of the dual-arm robot in the zero space, and adaptively adjust the weight of the joint limiting task and energy consumption optimization task according to the joint motion area.
[0012] Step 5: Based on the energy consumption gradient in Step 3, construct a sparse joint activation matrix using a continuous sparse activation strategy based on Gaussian functions.
[0013] Step 6: Adaptively select the joints that need to move in the two optimization tasks in Step 4 based on the sparse joint activation matrix in Step 5, and obtain the zero-space joint angle correction amount.
[0014] Step 7: Add the main task joint angle correction amount from Step 3 to the zero space joint angle correction amount from Step 6 to obtain the final joint motion allocation result.
[0015] Compared with existing technologies, the energy consumption gradient-guided joint motion allocation method for dual-arm robots provided by this invention has the following advantages:
[0016] By introducing an energy consumption cost function based on the inertia matrix, the robot's motion energy consumption can be reduced while satisfying the end-effector pose constraints. By combining dual-arm self-collision constraints, the safety and stability of the dual-arm cooperative motion process are effectively improved. By using the energy consumption gradient as a joint motion participation index, effective motion joints can be adaptively selected according to the robot's current state, reducing unnecessary joint movements. By adopting a continuous sparse activation strategy based on Gaussian functions, the motion discontinuity problem in traditional sparse optimization can be avoided. By coordinating joint constraint tasks and energy consumption optimization tasks through adaptive task weights, the stability of the multi-task optimization process is improved. Optimizing effective motion further reduces system energy consumption. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments will be briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A flowchart illustrating a method for allocating joint motions in a dual-arm robot based on energy consumption gradient guidance, provided in an embodiment of the present invention.
[0019] Figure 2 This is a schematic diagram of the overall structure of the dual-arm robot in the method provided in the embodiment of the present invention. Detailed Implementation
[0020] 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 only a part of the embodiments of the present invention, and not all of them, and do not constitute a limitation on the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the protection scope of the present invention.
[0021] First, the following explanations are provided for the terms that may be used in this article:
[0022] The term "and / or" means that either or both can be achieved simultaneously. For example, X and / or Y means that it includes both "X" or "Y" as well as the three cases of "X and Y".
[0023] The terms "comprising," "including," "containing," "having," or other similar semantic descriptions should be interpreted as non-exclusive inclusion. For example, including a technical feature element (such as raw material, component, ingredient, carrier, dosage form, material, size, part, component, mechanism, device, step, process, method, reaction conditions, processing conditions, parameter, algorithm, signal, data, product or article of manufacture, etc.) should be interpreted as including not only the expressly listed technical feature element, but also other technical feature elements that are not expressly listed and are well-known in the art.
[0024] The term "composed of" excludes any technical features not expressly listed. When used in a claim, it closes the claim to exclude all technical features other than those expressly listed, except for associated conventional impurities. If the term appears only in a clause of a claim, it limits the claim to the elements expressly listed in that clause; elements recited in other clauses are not excluded from the overall claim.
[0025] Unless otherwise explicitly specified or limited, the terms "installation," "connection," "linking," and "fixing," etc., should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this document according to the specific circumstances.
[0026] The terms “center,” “longitudinal,” “lateral,” “length,” “width,” “thickness,” “up,” “down,” “front,” “back,” “left,” “right,” “vertical,” “horizontal,” “top,” “bottom,” “inner,” “outer,” “clockwise,” and “counterclockwise” indicate the current orientation or positional relationship, and are only for the convenience and simplification of description, and do not explicitly or implicitly suggest that the device or component referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this document.
[0027] The technical solution provided by this invention will be described in detail below. Contents not described in detail in the embodiments of this invention are prior art known to those skilled in the art. Where specific conditions are not specified in the embodiments of this invention, they shall be performed according to conventional conditions in the art or conditions recommended by the manufacturer. Reagents or instruments used in the embodiments of this invention whose manufacturers are not specified are all conventional products that can be purchased commercially.
[0028] like Figure 1As shown, this invention provides a method for joint motion allocation in a dual-arm robot based on energy consumption gradient guidance, comprising:
[0029] Step 1: Establish the forward kinematics model of the dual-arm robot;
[0030] Step 2: Calculate the current end-effector pose of the dual-arm robot using the forward kinematics model from Step 1, and establish an inverse kinematics error model based on the desired end-effector pose of the dual-arm robot.
[0031] Step 3: Based on the inverse kinematic error model in Step 2, combine the energy consumption cost function constructed based on the inertial matrix of the dual-arm robot and the collision detection cost function constructed through self-collision detection between the two arms, and obtain the energy consumption gradient and collision cost gradient by calculating the gradients of the energy consumption cost function and the collision detection cost function respectively. Then, obtain the main task joint angle correction amount by numerical iteration method.
[0032] Step 4: Establish the joint limiting task and energy consumption optimization task of the dual-arm robot in the zero space, and adaptively adjust the weight of the joint limiting task and energy consumption optimization task according to the joint motion area.
[0033] Step 5: Based on the energy consumption gradient in Step 3, construct a sparse joint activation matrix using a continuous sparse activation strategy based on Gaussian functions.
[0034] Step 6: Adaptively select the joints that need to move in the two optimization tasks in Step 4 based on the sparse joint activation matrix in Step 5, and obtain the zero-space joint angle correction amount.
[0035] Step 7: Add the main task joint angle correction amount from Step 3 to the zero space joint angle correction amount from Step 6 to obtain the final joint motion allocation result.
[0036] Preferably, in step 1 of the above method, the exponential product method is used to establish the forward kinematic model of the dual-arm robot.
[0037] Preferably, in step 1 of the above method, the forward kinematic model of the dual-arm robot is established using the exponential product method in the following manner:
[0038] The two arms and torso of the dual-arm robot are each constructed as two redundant kinematic chains. The current end-effector pose of the dual-arm robot is described by a homogeneous transformation matrix as the forward kinematic model of the dual-arm robot. The forward kinematic model is as follows:
[0039] ;
[0040] in, This represents the current end effector pose of the dual-arm robot. For the joint angles of a dual-arm robot, Represents the set of real numbers. Joint angles of the torso of a dual-arm robot Joint angle with the left arm ; Joint angles of the torso of a dual-arm robot Joint angle with the right arm ; This represents the helical axis matrix of the joints of the torso and left arm of the dual-arm robot. These are the helical axis matrices of the first and second joints of the torso of the dual-arm robot, respectively. These are the helical axis matrices for the 1st to 8th joints of the left arm of the dual-arm robot; This represents the helical axis matrix of the joints of the torso and right arm of the dual-arm robot. These are the helical axis matrices for the 1st to 8th joints of the right arm of the dual-arm robot; It is a special Euclidean group, also known as a homogeneous transformation matrix; The initial pose of the end effectors of the dual-arm robot when all joint angles are zero, and the helical axis matrix. From the unit angular velocity vector and unit linear velocity vector Composition, represented as: .
[0041] Preferably, in step 2 of the above method, an inverse kinematics error model is established based on the forward kinematics model and combined with the expected end pose of the dual-arm robot, and the joint angle correction is obtained by solving the inverse kinematics error model using the Newton-Raphson numerical iteration method.
[0042] Preferably, in step 2 of the above method, the current end-effector pose of the dual-arm robot is calculated based on the forward kinematics model established in step 1, and an inverse kinematics error model is established in conjunction with the expected end-effector pose of the dual-arm robot, including:
[0043] The current end-effector pose of the dual-arm robot is calculated based on the forward kinematics model established in step 1. The pose error between the current end-effector pose and the desired end-effector pose is defined. Based on the pose error, the inverse kinematics error model is established as follows:
[0044] ;
[0045] in, The current end effector pose corresponding to the left arm of the dual-arm robot. With the desired end pose The pose error between them; The current end effector pose corresponding to the left arm of the dual-arm robot. With the desired end pose pose error between A six-dimensional vector, which can represent the pose error through the rotation and translation of the helical motion; The current end effector pose corresponding to the right arm of the dual-arm robot. With the desired end pose The pose error between them; The current end effector pose corresponding to the right arm of the dual-arm robot. With the desired end pose pose error between A six-dimensional vector, which can represent the pose error through the rotation and translation of the helical motion; Lie algebraic form of pose error, operators This means that the pose error is mapped from Lie algebra form to a six-dimensional vector.
[0046] Preferably, in step 3 of the above method, the energy consumption cost function is constructed based on the inertial matrix of the dual-arm robot in the following manner:
[0047] Under the condition of satisfying the pose constraints of the end effector of the dual-arm robot, the following energy consumption cost function is constructed based on the inertia matrix of the dual-arm robot during motion and the main task joint angle correction. for:
[0048] ;
[0049] in, The main task joint angle correction amount; This is the inertia matrix of the dual-arm robot during joint motion; the superscript T indicates the transpose of the matrix.
[0050] In step 3, a collision detection cost function is constructed through self-collision detection between the two arms in the following manner:
[0051] The two links that make up the two arms of the dual-arm robot and Each component is modeled as a capsule, and a collision detection cost function is established based on the shortest distance between the capsules corresponding to the two connecting rods. Specifically:
[0052] Set two connecting rods and The coordinates of any point on are respectively and Then the coordinates and They are represented as follows:
[0053] ;
[0054] In the formula, , Link The two endpoints, , link The two endpoints; and The unknown is between 0 and 1;
[0055] Two connecting rods and shortest distance between Represented as:
[0056] ;
[0057] in, The expression represents finding the minimum value; ||•|| represents finding the Euclidean norm of a vector.
[0058] Substitute coordinates and get:
[0059] ;
[0060] Because when the distance between the two links is the shortest... and The dot product is 0. and The dot product is also 0, so we get:
[0061] ;
[0062] make , , , , , , , It can shorten the length of the two connecting rods. and Write them separately as and :
[0063] ;
[0064] At this point, the coordinates can be... and Rewritten as and :
[0065] ;
[0066] in, Two connecting rods and When the distance is shortest, the link coordinates on; Two connecting rods and Linkage at shortest distance coordinates on;
[0067] Define the left arm link set and the right arm link set as follows: and ,in, This represents the number of links in the left arm link set. The set of links in the right arm link set is the number of links in the set of links to be detected. The left arm linkage is obtained. The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body for:
[0068] ;
[0069] in, For the right arm linkage Linkage with left arm Right arm linkage at the shortest distance coordinates on; For the right arm linkage Linkage with left arm Left arm linkage at the shortest distance coordinates on and Let be the radii of the capsule corresponding to the two connecting rods, and be the points from which the collision detection cost function is constructed. for:
[0070] ;
[0071] in,
[0072] ;
[0073] in, This represents the current distance between the capsules corresponding to the two links of the two arms during the movement of the dual-arm robot. This refers to the safe distance between the capsules corresponding to the two connecting rods of the two arms when the dual-arm robot is moving. This represents the collision weighting coefficient.
[0074] Preferably, in step 3 of the above method, the following steps are taken: based on the inverse kinematics error model from step 2, combined with the energy consumption cost function constructed based on the inertial matrix of the dual-arm robot and the collision detection cost function constructed through self-collision detection between the two arms, and the gradients of the energy consumption cost function and the collision detection cost function are calculated respectively to obtain the energy consumption gradient and the collision cost gradient. Then, the main task joint angle correction is obtained through numerical iteration.
[0075] The difference between the current joint angle corresponding to the current end-effector pose and the desired joint angle corresponding to the desired end-effector pose of the dual-arm robot decreases as the pose error decreases. The relationship between the difference between the current joint angle and the desired joint angle and the pose error is as follows:
[0076] ;
[0077] in, It is a Jacobian matrix; This represents the main task joint angle correction amount, which is the difference between the current joint angle corresponding to the robot's current end-effector pose and the desired joint angle. This indicates the current end effector pose of the left arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This indicates the current end effector pose of the right arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This represents the pose error corresponding to the end effector of the left and right arms of the dual-arm robot.
[0078] Since the dual-arm robot is a redundant system and the Jacobian matrix is not a square matrix, a unique solution for the main task joint angle correction cannot be obtained. Instead, the relationship between the difference between the current joint angle and the desired joint angle and the pose error is transformed into the following least squares problem to obtain a unique solution for the main task joint angle correction:
[0079] ;
[0080] in, This indicates finding the minimum value; ||•|| 2 This indicates finding the 2-norm of a vector. Indicates the main task joint angle correction amount;
[0081] When solving for the change in joint angles, the effects of energy consumption and collisions are considered. The relationship between the difference between the current joint angle and the desired joint angle and the pose error is transformed into a least squares problem. Then, an energy consumption cost function and a collision detection cost function are introduced to adjust the joint angle correction for the main task. The gradient is obtained as follows:
[0082] ;
[0083] in, and Representing coordinates and coordinates Jacobian matrix on Indicates the left arm linkage coordinates on Indicates the right arm linkage coordinates on This represents the weighting coefficients for the collision detection task. for:
[0084] ;
[0085] in, This is the weighting adjustment coefficient. The larger the value, the faster the collision detection task increases when the distance between the two links is less than the safety threshold; The weighting coefficients represent the energy cost function. for:
[0086] ;
[0087] in, This is the weighting adjustment coefficient; This is the weight decay coefficient; when the weight coefficients of the collision detection task... Increase the weight coefficient of the energy consumption optimization task It will decrease.
[0088] Preferably, in step 3 of the above method, the energy consumption gradient is obtained by calculating the gradient of the energy consumption cost function obtained in step 3 in the following manner:
[0089] The energy consumption gradient is obtained based on the constructed energy consumption cost function. for:
[0090] ;
[0091] The collision detection gradient is obtained by calculating the gradient of the collision detection cost function obtained in step 3 as follows: for:
[0092] ;
[0093] in, Represents the collision detection cost function For the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body Find the partial derivative. Indicates the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body For the main task joint angle Find the partial derivative; This is the minimum distance between the capsule body corresponding to the left arm's connecting rod and the capsule body corresponding to the right arm's connecting rod. This represents the collision weighting coefficient.
[0094] Preferably, in step 4 of the above method, the joint limiting task and energy consumption optimization task of the dual-arm robot are established in the zero space in the following manner, and the weights of the joint limiting task and energy consumption optimization task are adaptively adjusted according to the joint motion region, including:
[0095] Define the upper and lower bounds of each joint angle of the dual-arm robot, as well as the positions of each joint angle close to the upper and lower bounds. Define the joint regions between the upper bound and the positions of each joint angle close to the upper bound, and the joint regions between the lower bound and the positions of each joint angle close to the lower bound as dangerous zones. When a joint moves into a dangerous zone, prioritize the execution of joint limiting tasks that are far from the joint limits; when the joint movement is not in a dangerous zone, execute energy consumption optimization tasks.
[0096] Preferably, in step 4 of the above method, in the joint limiting task of the dual-arm robot established in zero space, the function of the joint limiting task far from the joint limit position is... Defined as:
[0097] ;
[0098] in, For the torso and left arm of the dual-arm robot Limitation task function for each joint; For the torso and right arm of the dual-arm robot Limitation task function for each joint; For the torso and left arm of the dual-arm robot The joint angles of each joint; For the torso and right arm of the dual-arm robot The joint angles of each joint; max(•) is the function to find the maximum value; For the torso and left arm of the dual-arm robot The upper boundary of the joint angle of each joint; For the torso and right arm of the dual-arm robot The upper boundary of the joint angle of each joint; For the torso and left arm of the dual-arm robot The lower bound of the joint angle of each joint; For the torso and right arm of the dual-arm robot The lower bound of the joint angle of a joint angle; For the torso and left arm of the dual-arm robot The joint angle of each joint is close to the upper limit; For the torso and right arm of the dual-arm robot The joint angle of each joint is close to the upper limit; For the torso and left arm of the dual-arm robot The joint angle of each joint is close to the lower limit; For the torso and right arm of the dual-arm robot The joint angle of each joint is close to the lower limit; , The larger the value, the higher the value. The closer a joint is to its limit position; , The larger the value, the higher the value. The closer a joint is to its limit position; for Finding the gradient yields the gradient of the function far from the joint's limiting position. for:
[0099] ;
[0100] in, For the torso and left arm of the dual-arm robot The gradient of the constraint task function for each joint; For the torso and right arm of the dual-arm robot The gradient of the constraint task function for each joint;
[0101] In the energy consumption optimization task of a dual-arm robot established in null space, the corresponding energy consumption optimization function is... Defined as:
[0102] ;
[0103] in, This indicates the torso and left arm of the dual-arm robot. The energy consumption optimization task function for each joint. This indicates the torso and right arm of the dual-arm robot. Energy consumption optimization task function for each joint; For the torso and left arm of the dual-arm robot Weighting of joint angles for each joint; For the torso and right arm of the dual-arm robot Weighting of joint angles for each joint;
[0104] The gradient of the energy optimization function is obtained by taking the gradient of the energy optimization function in the null space. for:
[0105] ;
[0106] in, For the torso and left arm of the dual-arm robot The correction amount for the joint angle of each joint; For the torso and right arm of the dual-arm robot The correction amount for the joint angle of each joint;
[0107] Define the objective function for adaptive adjustment of multi-task based on joint range of motion. for:
[0108] ;
[0109] In the formula, For the torso and left arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... For the torso and right arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... The adaptive weights for the torso and left arm of the dual-arm robot are expressed as follows:
[0110] ;
[0111] The adaptive weights for the torso and right arm of the dual-arm robot are expressed as follows:
[0112] ;
[0113] in, The slope represents the speed of transition to the danger zone; and These represent the torso and left arm of the dual-arm robot, respectively. The lower boundary of the joint angle of a joint. and the upper boundary of the joint angle of the joint. The degree; and These represent the torso and right arm of the dual-arm robot, respectively. The lower boundary of the joint angle of a joint. and the upper boundary of the joint angle of the joint. The degree;
[0114] objective function gradient for:
[0115] ;
[0116] in, For the torso and left arm of the dual-arm robot The gradient of the energy consumption optimization function for the joint angles of each joint. For the torso and right arm of the dual-arm robot The gradient of the energy consumption optimization task for the joint angle of each joint.
[0117] Preferably, in step 5 of the above method, a sparse joint activation matrix is constructed using a Gaussian-based continuous sparse activation strategy according to the energy consumption gradient obtained in step 3, including:
[0118] Define a sparse joint activation matrix guided by energy dissipation gradient in null space. for:
[0119] ;
[0120] in, (•) is a diagonal matrix function. Let be the sparse joint activation matrix corresponding to the torso and left arm of the dual-arm robot. This refers to the sparse joint activation matrix corresponding to the torso and right arm of the dual-arm robot; the sparse joint activation matrix In and Each diagonal element in , All are derived from Gaussian functions, and are as follows:
[0121] ;
[0122] ;
[0123] In the formula, (•) is the natural exponential function. and For positive numbers that approach 0, it is obvious that... and Regarding respectively and Continuous smoothness, thus yielding:
[0124] ;
[0125] .
[0126] In step 6 of the method, the joints that need to move in the two optimization tasks of step 4 are adaptively selected based on the sparse joint activation matrix of step 5, and the null space joint angle correction is obtained, including:
[0127] Step 61: To reflect the redundancy characteristics of the dual-arm robot, joint motions are allocated within the null space. Without changing the end-effector trajectories of the arms, the motions of the arms and torso are optimized. The null space is then used to obtain the difference between the current joint angle and the desired joint angle within the null space. for:
[0128] ;
[0129] in, , and These represent the differences between the current joint angle corresponding to the current end-effector pose and the expected joint angle corresponding to the expected end-effector pose of the left and right arms of the dual-arm robot in the null space, respectively. To optimize the coefficients, the optimization direction and speed are determined; The pseudo-inverse matrix of Jacobi Orthogonal mappings in the null space; It is the identity matrix; Performance indicators within zero space gradient, The motion of the arms and torso of the dual-arm robot is optimized by using gradient direction to optimize performance indicators in null space.
[0130] Step 62 involves adaptively selecting the joints that need to move in the null space using energy consumption gradients, and then performing the null space constraint task and energy consumption optimization task, thus resolving the issues from step 61. Rewritten as:
[0131] ;
[0132] In step 7 of the method, the main task joint angle correction amount from step 3 is adjusted as follows: Add the zero-space joint angle correction amount from step 6 The final distribution of joint motion is obtained. for:
[0133] ;
[0134] in, This represents the distribution of joint movements from the previous moment. This represents the number of iterations. This indicates the iteration speed during iterative solution.
[0135] To more clearly demonstrate the technical solution and its effects provided by the present invention, the following detailed description of the solution provided by the embodiments of the present invention is provided with reference to specific examples.
[0136] Example 1
[0137] This embodiment provides a method for joint motion allocation in a dual-arm robot based on energy consumption gradient guidance. The object-oriented approach is as follows: Figure 2 The illustrated dual-arm robot comprises two seven-DOF humanoid arms and a two-DOF torso. The implementation process of this method is as follows: Figure 1 As shown, it includes:
[0138] Step 1: Establish the robot's kinematic model using the exponential product method. The arms and torso are each constructed as two redundant kinematic chains, and the robot's end-effector pose is described using a homogeneous transformation matrix. The calculation formula is as follows:
[0139] ;
[0140] in, Let be the joint angle vector of the dual-arm robot. Let be the joint angle vector between the torso and the left arm. Let be the joint angle vector between the torso and the right arm. This represents the helical axis matrix of the joints of the torso and left arm. This represents the helical axis matrix of the joints of the torso and right arm. It is a special Euclidean group, also known as a homogeneous transformation matrix. The arms are in the end-effector position. The initial pose of the ends of both arms when all joint angles are zero, and the helical axis matrix. From the unit angular velocity vector and unit linear velocity vector composition, Represented as:
[0141] ;
[0142] Step 2: Define the error between the current end-effector pose and the desired end-effector pose, and use the Newton-Raphson numerical iteration method to solve for the joint angle correction. The idea behind the iterative method is to make... Gradually approaching the desired pose at the ends of both arms The pose error between the two is defined as:
[0143] ;
[0144] in, and These represent the pose errors between the current pose and the desired pose of the left and right arm ends, respectively. Lie algebraic form of pose error, operators This means mapping the pose error from Lie algebraic form to a six-dimensional vector form. and This is a six-dimensional vector representation of the pose error. The six-dimensional vector can intuitively represent the pose error through the rotation and translation of the helical motion. As the pose error gradually decreases... The corresponding current joint angle and The corresponding differences between the expected joint angles also gradually decrease, and the relationship between the differences between the joint angles and the pose error is as follows:
[0145] ;
[0146] in, This represents the main task joint angle correction, which is the difference between the current joint angle corresponding to the robot's current end-effector pose and the desired joint angle. For Jacobian matrices, This indicates the current end effector pose of the left arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This indicates the current end effector pose of the right arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This represents the pose error corresponding to the end effector of the left and right arms of the dual-arm robot.
[0147] Since the dual-arm robot is a redundant system and the Jacobian matrix is not a square matrix, it is difficult to find a unique solution for the main task joint angle correction. Therefore, to obtain a unique solution, the relationship between the difference between joint angles and the pose error needs to be transformed into a least squares problem:
[0148] ;
[0149] Step 3: Under the condition of satisfying the pose constraints of the end effector of the dual-arm robot, an energy consumption cost function based on the inertia matrix is introduced to suppress high-energy joint movements through energy consumption gradient guidance. Simultaneously, to avoid collisions during dual-arm movement, the robot links are modeled as capsules, and a collision detection cost function is established based on the shortest distance between the links, including the following steps:
[0150] Step 31, introduce the energy consumption cost function for the movement of the dual-arm robot as follows:
[0151] ;
[0152] in, Let be the inertia matrix during joint movement, and its gradient can be obtained as:
[0153] ;
[0154] Step 32: Model each link as a capsule. Let the coordinates of any point on the two links be... and ,but and It can be represented as:
[0155] ;
[0156] In the formula, , , , They are two connecting rods. and The two ends, and The unknown is a number between 0 and 1. The shortest distance between two line segments can be expressed as:
[0157] ;
[0158] Substitute coordinates and From the formula, we can obtain:
[0159] ;
[0160] Because when the distance between the two links is the shortest... and The dot product is 0. and Since the dot product is also 0, we can conclude that:
[0161] ;
[0162] make , , , , , , , It can be used to find the shortest line segment. and Written as:
[0163] ;
[0164] Current coordinates and coordinates The formula can be rewritten as:
[0165] ;
[0166] Define the sets of left and right arm links as follows: and ,in, This represents the number of links in the left arm link set. The set of links in the right arm link set is the number of links in the set of links to be detected. The minimum distance of the capsule body can be obtained. for:
[0167] ;
[0168] in, For the right arm linkage Linkage with left arm Right arm linkage at the shortest distance coordinates on; For the right arm linkage Linkage with left arm Left arm linkage at the shortest distance coordinates on and Let be the radii of the capsule corresponding to the two connecting rods, and be the points from which the collision detection cost function is constructed. for:
[0169] ;
[0170] in,
[0171] ;
[0172] in, This represents the current distance between the capsules corresponding to the two links of the two arms during the movement of the dual-arm robot. This refers to the safe distance between the capsules corresponding to the two connecting rods of the two arms when the dual-arm robot is moving. Let be the collision weight coefficients. The gradient of the collision detection cost function is:
[0173] ;
[0174] in, Represents the collision detection cost function For the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body Find the partial derivative. Indicates the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body For the main task joint angle Find the partial derivative; This is the minimum distance between the capsule body corresponding to the left arm's connecting rod and the capsule body corresponding to the right arm's connecting rod. This represents the collision weighting coefficient.
[0175] A capsule-shaped model is used to describe the links of a dual-arm robot. A collision detection cost function is constructed based on the minimum distance between the left and right arm links, and this function is used as a penalty term for the collision detection task. Similarly, an energy consumption cost function is used as a penalty term for the energy consumption optimization task. After transforming the relationship between the difference in joint angles and pose error into a least-squares problem, an energy consumption cost function and a collision detection cost function guided by the inertia matrix are introduced. These related functions are then combined to... The gradient can be obtained as follows:
[0176] ;
[0177] in, and Representing coordinates and coordinates Jacobian matrix on Indicates the left arm linkage coordinates on Indicates the right arm linkage coordinates on This represents the weighting coefficients for the collision detection task. for:
[0178] ;
[0179] in, This is the weighting adjustment coefficient. The larger the value, the faster the collision detection task increases when the distance between the two links is less than the safety threshold; The weighting coefficients represent the energy cost function. for:
[0180] ;
[0181] in, This is the weighting adjustment coefficient; This is the weight decay coefficient; when the weight coefficients of the collision detection task... Increase the weight coefficient of the energy consumption optimization task It will decrease.
[0182] Step 4: Establish a null space multi-task optimization model, defining the upper and lower bounds of each joint angle as follows: and ,definition and These represent the positions of each joint angle near its upper and lower boundaries. and as well as and The joint area between the joints is defined as the danger zone. When the joint moves into the danger zone, the joint limiting task that is far from the joint limit will be executed first. When the joint moves outside the danger zone, the energy consumption optimization task will be executed.
[0183] For joint constraint tasks far from the joint's extreme positions, the following joint constraint function is defined:
[0184] ;
[0185] in, For the torso and left arm of the dual-arm robot Limitation task function for each joint. The larger the size, the larger the torso and left arm of the dual-arm robot. The closer a joint is to its limit position... For the torso and right arm of the dual-arm robot Limitation task function for each joint. The larger the value, the larger the torso and right arm of the dual-arm robot. The closer a joint is to its limit position, the more likely the gradient of the joint constraint function is to be obtained when the joint is far from its limit position:
[0186] ;
[0187] in, For the torso and left arm of the dual-arm robot The gradient of the constraint task function for each joint; For the torso and right arm of the dual-arm robot The gradient of the constraint task function for each joint;
[0188] For energy consumption optimization tasks, the following energy consumption optimization function is defined:
[0189] ;
[0190] in, For the torso and left arm Weighting of joint angles for each joint; The first of the torso and right arm The weighting of the joint angles of each joint is determined; the gradient of the energy consumption optimization function can then be obtained as follows:
[0191] ;
[0192] in, For the torso and left arm of the dual-arm robot The correction amount for the joint angle of each joint; For the torso and right arm of the dual-arm robot The correction amount for the joint angle of each joint;
[0193] The objective function for adaptively adjusting multiple tasks based on the joint range of motion is defined as follows:
[0194] ;
[0195] In the formula, For the torso and left arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... For the torso and right arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... The adaptive weights for the torso and left arm of the dual-arm robot are represented as follows:
[0196] ;
[0197] The adaptive weights for the torso and right arm of the dual-arm robot are expressed as follows:
[0198] ;
[0199] in, The slope represents the speed of transition to the danger zone; and The numbers representing the torso and left arm of the dual-arm robot are respectively... The joint is close to the first The lower bound of the joint angle of a joint. and the The upper bound of the joint angle of a joint. The degree; and The numbers representing the torso and right arm of the dual-arm robot are respectively... The joint is close to the first The lower bound of the joint angle of a joint. and the The upper bound of the joint angle of a joint. The degree;
[0200] The gradient of the objective function for adaptively adjusting multiple tasks can be obtained as follows:
[0201] ;
[0202] in, For the torso and left arm of the dual-arm robot The gradient of the energy consumption optimization function for the joint angles of each joint. For the torso and right arm of the dual-arm robot The gradient of the energy consumption optimization task for the joint angle of each joint.
[0203] To reflect the redundancy of a dual-arm robot, joint motions can be distributed within the null space, further optimizing the motion of the arms and torso without altering the end-effector trajectories. Introducing the null space allows the differences between joint angles to be rewritten as:
[0204] ;
[0205] in, , and These represent the differences between the current joint angle corresponding to the current end-effector pose and the expected joint angle corresponding to the expected end-effector pose of the left and right arms of the dual-arm robot in the null space, respectively. To optimize the coefficients, the optimization direction and speed are determined; The pseudo-inverse matrix of Jacobi Orthogonal mappings in the null space; It is the identity matrix; Performance indicators within zero space gradient, By using gradient direction to optimize performance metrics in null space, the motion of the arms and torso of a dual-arm robot can be optimized.
[0206] Step 5: To further reduce unnecessary joint movements and improve overall execution efficiency, a continuous and differentiable energy consumption gradient is selected as the evaluation index for joint motion participation. The energy consumption gradient characterizes the sensitivity of a joint's unit displacement to changes in system energy consumption. When the energy consumption gradient corresponding to a joint is large, it indicates that a small movement of that joint will cause a significant change in system energy consumption, and its participation cost is high. Conversely, when the energy consumption gradient is small, a small movement of that joint has almost no impact on system energy consumption, and its participation cost is low. Therefore, joint sparsity is adaptively generated by the energy consumption gradient of the dual-arm robot in its current state, prioritizing the activation of joints with lower motion costs while autonomously suppressing joints with higher motion costs. The joint motion activation matrix guided by the energy consumption gradient in null space is defined as follows:
[0207] ;
[0208] Each diagonal element can be obtained using a Gaussian function, as follows:
[0209] and ;
[0210] In the formula, and For positive numbers that approach 0, it is obvious that... and Regarding respectively and Continuous smoothness, thus yielding:
[0211] ;
[0212] and .
[0213] Step 6: Based on the joint motion activation matrix established in Step 5, the dual-arm robot will first adaptively select the joints to be moved through energy consumption gradient in each iteration of the inverse kinematics solution, and then optimize them to obtain the final difference between the current joint angle and the desired joint angle in null space. for:
[0214] ;
[0215] When a dual-arm robot is in a singular configuration, the null space projection value may affect the end-effector task. Without considering null space optimization tasks; as the dual-arm robot gradually moves away from the singular configuration, to avoid the sudden introduction of null space terms causing discontinuities in joint motion, at this time... The coefficients need to be increased continuously and smoothly; therefore, the null space optimization coefficients... The settings are as follows:
[0216] ;
[0217] in, It is the minimum singular value. The initial values for the zero-space optimization coefficients.
[0218] The updated joint angle correction is obtained by combining the main task joint angle correction and the zero-space joint angle correction, which is the final allocation result of joint motion. for:
[0219] ;
[0220] in, This represents the distribution of joint movements from the previous moment. This represents the number of iterations. This indicates the iteration speed during iterative solution.
[0221] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0222] The above description is merely a preferred embodiment 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 scope of the technology 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. The information disclosed in the background section is intended only to enhance the understanding of the overall background technology of the present invention and should not be construed as an admission or implication in any way that such information constitutes prior art known to those skilled in the art.
Claims
1. A method for joint motion allocation in a dual-arm robot based on energy consumption gradient guidance, characterized in that, include: Step 1: Establish the forward kinematics model of the dual-arm robot; Step 2: Calculate the current end-effector pose of the dual-arm robot using the forward kinematics model from Step 1, and establish an inverse kinematics error model based on the desired end-effector pose of the dual-arm robot. Step 3: Based on the inverse kinematic error model in Step 2, combine the energy consumption cost function constructed based on the inertial matrix of the dual-arm robot and the collision detection cost function constructed through self-collision detection between the two arms, and obtain the energy consumption gradient and collision cost gradient by calculating the gradients of the energy consumption cost function and the collision detection cost function respectively. Then, obtain the main task joint angle correction amount by numerical iteration method. Step 4: Establish the joint limiting task and energy consumption optimization task of the dual-arm robot in the zero space, and adaptively adjust the weight of the joint limiting task and energy consumption optimization task according to the joint motion area. Step 5: Based on the energy consumption gradient in Step 3, construct a sparse joint activation matrix using a continuous sparse activation strategy based on Gaussian functions. Step 6: Adaptively select the joints that need to move in the two optimization tasks in Step 4 based on the sparse joint activation matrix in Step 5, and obtain the zero-space joint angle correction amount. Step 7: Add the main task joint angle correction amount from Step 3 to the zero space joint angle correction amount from Step 6 to obtain the final joint motion allocation result.
2. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 1, characterized in that, In step 1, the positive kinematic model of the dual-arm robot is established using the exponential product method.
3. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 2, characterized in that, In step 1, the forward kinematic model of the dual-arm robot is established using the exponential product method in the following manner: The two arms and torso of the dual-arm robot are each constructed as two redundant kinematic chains. The current end-effector pose of the dual-arm robot is described by a homogeneous transformation matrix as the forward kinematic model of the dual-arm robot. The forward kinematic model is as follows: ; in, This represents the current end effector pose of the dual-arm robot. For the joint angles of a dual-arm robot, Represents the set of real numbers. Joint angles of the torso of a dual-arm robot Joint angle with the left arm ; Joint angles of the torso of a dual-arm robot Joint angle with the right arm ; This represents the helical axis matrix of the joints of the torso and left arm of the dual-arm robot. These are the helical axis matrices of the first and second joints of the torso of the dual-arm robot, respectively. These are the helical axis matrices for the 1st to 8th joints of the left arm of the dual-arm robot; This represents the helical axis matrix of the joints of the torso and right arm of the dual-arm robot. These are the helical axis matrices for the 1st to 8th joints of the right arm of the dual-arm robot; It is a special Euclidean group, also known as a homogeneous transformation matrix; The initial pose of the end effectors of the dual-arm robot when all joint angles are zero, and the helical axis matrix. From the unit angular velocity vector and unit linear velocity vector Composition, represented as: .
4. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to any one of claims 1-3, characterized in that, In step 2, the current end-effector pose of the dual-arm robot is calculated based on the forward kinematics model established in step 1, and an inverse kinematics error model is established in conjunction with the desired end-effector pose of the dual-arm robot, including: The current end-effector pose of the dual-arm robot is calculated based on the forward kinematics model established in step 1. The pose error between the current end-effector pose and the desired end-effector pose is defined. Based on the pose error, the inverse kinematics error model is established as follows: ; in, The current end effector pose corresponding to the left arm of the dual-arm robot. With the desired end pose The pose error between them; The current end effector pose corresponding to the left arm of the dual-arm robot. With the desired end pose pose error between A six-dimensional vector, which can represent the pose error through the rotation and translation of the helical motion; The current end effector pose corresponding to the right arm of the dual-arm robot. With the desired end pose The pose error between them; The current end effector pose corresponding to the right arm of the dual-arm robot. With the desired end pose pose error between A six-dimensional vector, which can represent the pose error through the rotation and translation of the helical motion; Lie algebraic form of pose error, operators This means that the pose error is mapped from Lie algebra form to a six-dimensional vector.
5. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 4, characterized in that, In step 3, the energy consumption cost function is constructed based on the inertial matrix of the dual-arm robot in the following manner: Under the condition of satisfying the pose constraints of the end effector of the dual-arm robot, the following energy consumption cost function is constructed based on the inertia matrix of the dual-arm robot during motion and the main task joint angle correction. for: ; in, The main task joint angle correction amount; This is the inertia matrix of the dual-arm robot during joint motion; the superscript T indicates the transpose of the matrix. In step 3, a collision detection cost function is constructed through self-collision detection between the two arms in the following manner: The two links that make up the two arms of the dual-arm robot and Each component is modeled as a capsule, and a collision detection cost function is established based on the shortest distance between the capsules corresponding to the two connecting rods. Specifically: Set two connecting rods and The coordinates of any point on are respectively and Then the coordinates and They are represented as follows: ; In the formula, , Link The two endpoints, , link The two endpoints; and An unknown number between 0 and 1; Two connecting rods and shortest distance between Represented as: ; in, The expression represents finding the minimum value; ||•|| represents finding the Euclidean norm of a vector. Substitute coordinates and get: ; Because when the distance between the two links is the shortest... and The dot product is 0. and The dot product is also 0, so we get: ; make , , , , , , , It can shorten the length of the two connecting rods. and Write them separately as and : ; At this point, the coordinates can be... and Rewritten as and : ; in, Two connecting rods and When the distance is shortest, the link Coordinates on; Two connecting rods and When the distance is shortest, the link Coordinates on; Define the left arm link set and the right arm link set as follows: and ,in, This represents the number of links in the left arm link set. The set of links in the right arm link set is the number of links in the set of links to be detected. The left arm linkage is obtained. The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body for: ; in, For the right arm linkage Linkage with left arm Right arm linkage at the shortest distance Coordinates on; For the right arm linkage Linkage with left arm Left arm linkage at the shortest distance coordinates on and The collision detection cost function is constructed using the radii of the capsule corresponding to the two connecting rods. for: ; in, ; in, This represents the current distance between the capsules corresponding to the two links of the two arms during the movement of the dual-arm robot. This refers to the safe distance between the capsules corresponding to the two connecting rods of the two arms when the dual-arm robot is moving. This represents the collision weighting coefficient.
6. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 5, characterized in that, In step 3, the following steps are taken: based on the inverse kinematics error model from step 2, the energy consumption cost function constructed based on the inertial matrix of the dual-arm robot and the collision detection cost function constructed through self-collision detection between the two arms are combined. The gradients of the energy consumption cost function and the collision detection cost function are calculated respectively to obtain the energy consumption gradient and the collision cost gradient. Then, the main task joint angle correction is obtained through numerical iteration, including: The difference between the current joint angle corresponding to the current end-effector pose and the desired joint angle corresponding to the desired end-effector pose of the dual-arm robot decreases as the pose error decreases. The relationship between the difference between the current joint angle and the desired joint angle and the pose error is as follows: ; in, It is a Jacobian matrix; This represents the main task joint angle correction amount, which is the difference between the current joint angle and the desired joint angle corresponding to the robot's current end-effector pose. This indicates the current end effector pose of the left arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This indicates the current end effector pose of the right arm of the dual-arm robot. The corresponding current joint angle and the desired end pose The difference between the corresponding expected joint angles; This represents the pose error corresponding to the end effector of the left and right arms of the dual-arm robot. Since the dual-arm robot is a redundant system and the Jacobian matrix is not a square matrix, a unique solution for the main task joint angle correction cannot be obtained. Instead, the relationship between the difference between the current joint angle and the desired joint angle and the pose error is transformed into the following least squares problem to obtain a unique solution for the main task joint angle correction: ; in, This indicates finding the minimum value; ||•|| 2 This indicates finding the 2-norm of a vector. Indicates the main task joint angle correction amount; When solving for the change in joint angles, the effects of energy consumption and collisions are considered. The relationship between the difference between the current joint angle and the desired joint angle and the pose error is transformed into a least squares problem. Then, an energy consumption cost function and a collision detection cost function are introduced to adjust the joint angle correction for the main task. The gradient is obtained as follows: ; in, and Representing coordinates and coordinates Jacobian matrix on Indicates the left arm linkage coordinates on Indicates the right arm linkage coordinates on This represents the weighting coefficients for the collision detection task. for: ; in, This is the weighting adjustment coefficient. The larger the value, the faster the collision detection task increases when the distance between the two links is less than the safety threshold; The weighting coefficients represent the energy cost function. for: ; in, This is the weighting adjustment coefficient; This is the weight decay coefficient; when the weight coefficients of the collision detection task... Increase the weight coefficient of the energy consumption optimization task It will decrease.
7. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 6, characterized in that, In step 3, the energy consumption gradient is obtained by calculating the gradient of the energy consumption cost function obtained in step 3 in the following manner: The energy consumption gradient is obtained based on the constructed energy consumption cost function. for: ; The collision detection gradient is obtained by calculating the gradient of the collision detection cost function obtained in step 3 as follows: for: ; in, Represents the collision detection cost function For the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body Find the partial derivative. Indicates the left arm linkage The corresponding capsule body and right arm connecting rod The corresponding minimum distance of the capsule body For the main task joint angle Find the partial derivative; This is the minimum distance between the capsule body corresponding to the left arm's connecting rod and the capsule body corresponding to the right arm's connecting rod. This represents the collision weighting coefficient.
8. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 7, characterized in that, In step 4, the joint limiting task and energy consumption optimization task of the dual-arm robot are established in the zero space in the following manner, and the weights of the joint limiting task and energy consumption optimization task are adaptively adjusted according to the joint motion area, including: Define the upper and lower bounds of each joint angle of the dual-arm robot, as well as the positions of each joint angle close to the upper and lower bounds. Define the joint regions between the upper bound and the positions of each joint angle close to the upper bound, and the joint regions between the lower bound and the positions of each joint angle close to the lower bound as dangerous zones. When a joint moves into a dangerous zone, prioritize the execution of joint limiting tasks that are far from the joint limits; when the joint movement is not in a dangerous zone, execute energy consumption optimization tasks.
9. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 8, characterized in that, In the joint constraint task of a dual-arm robot established in null space, the function of the joint constraint task that is far from the joint limit position. Defined as: ; in, For the torso and left arm of the dual-arm robot Limitation task function for each joint; For the torso and right arm of the dual-arm robot Limitation task function for each joint; For the torso and left arm of the dual-arm robot The joint angles of each joint; For the torso and right arm of the dual-arm robot The joint angles of each joint; max(•) is the function to find the maximum value; For the torso and left arm of the dual-arm robot The upper boundary of the joint angle of each joint; For the torso and right arm of the dual-arm robot The upper boundary of the joint angle of each joint; For the torso and left arm of the dual-arm robot The lower bound of the joint angle of each joint; For the torso and right arm of the dual-arm robot The lower bound of the joint angle of a joint angle; For the torso and left arm of the dual-arm robot The joint angle of each joint is close to the upper limit; For the torso and right arm of the dual-arm robot The joint angle of each joint is close to the upper limit; For the torso and left arm of the dual-arm robot The joint angle of each joint is close to the lower limit; For the torso and right arm of the dual-arm robot The joint angle of each joint is close to the lower limit; , The larger the value, the higher the value. The closer a joint is to its limit position; , The larger the value, the higher the value. The closer a joint is to its limit position; for Finding the gradient yields the gradient of the function far from the joint's limiting position. for: ; in, For the torso and left arm of the dual-arm robot The gradient of the constraint task function for each joint; For the torso and right arm of the dual-arm robot The gradient of the constraint task function for each joint; In the energy consumption optimization task of a dual-arm robot established in null space, the corresponding energy consumption optimization function is... Defined as: ; in, This indicates the torso and left arm of the dual-arm robot, corresponding to the first... The energy consumption optimization task function for each joint. This indicates the torso and right arm of the dual-arm robot. Energy consumption optimization task function for each joint; For the torso and left arm of the dual-arm robot Weighting of joint angles for each joint; For the torso and right arm of the dual-arm robot Weighting of joint angles for each joint; The gradient of the energy optimization function is obtained by taking the gradient of the energy optimization function in the null space. for: ; in, For the torso and left arm of the dual-arm robot The correction amount for the joint angle of each joint; For the torso and right arm of the dual-arm robot The correction amount for the joint angle of each joint; Define the objective function for adaptive adjustment of multi-task based on joint range of motion. for: ; In the formula, For the torso and left arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... For the torso and right arm of the dual-arm robot The objective function of the task of optimizing the joint angle energy consumption of a joint is... The adaptive weights for the torso and left arm of the dual-arm robot are expressed as follows: ; The adaptive weights for the torso and right arm of the dual-arm robot are expressed as follows: ; in, The slope represents the speed of transition to the danger zone; and These represent the torso and left arm of the dual-arm robot, respectively. The lower boundary of the joint angle of a joint. and the upper boundary of the joint angle of the joint. The degree; and These represent the torso and right arm of the dual-arm robot, respectively. The lower boundary of the joint angle of a joint. and the upper boundary of the joint angle of the joint. The degree; objective function gradient for: ; in, For the torso and left arm of the dual-arm robot The gradient of the energy consumption optimization function for the joint angles of each joint. For the torso and right arm of the dual-arm robot The gradient of the energy consumption optimization task for the joint angle of each joint.
10. The method for joint motion allocation of a dual-arm robot based on energy consumption gradient guidance according to claim 9, characterized in that, In step 5, a sparse joint activation matrix is constructed using a Gaussian-based continuous sparse activation strategy based on the energy consumption gradient obtained in step 3, as follows: Define a sparse joint activation matrix guided by energy dissipation gradient in null space. for: ; in, (•) is a diagonal matrix function. Let be the sparse joint activation matrix corresponding to the torso and left arm of the dual-arm robot. This refers to the sparse joint activation matrix corresponding to the torso and right arm of the dual-arm robot; the sparse joint activation matrix In and Each diagonal element in , All are derived from Gaussian functions, and are as follows: ; ; In the formula, (•) is the natural exponential function. and For positive numbers that approach 0, it is obvious that... and Regarding respectively and Continuous smoothness, thus yielding: ; ; In step 6 of the method, the joints that need to move in the two optimization tasks of step 4 are adaptively selected based on the sparse joint activation matrix of step 5, and the null space joint angle correction is obtained, including: Step 61: To reflect the redundancy characteristics of the dual-arm robot, joint motions are allocated within the null space. Without changing the end-effector trajectories of the arms, the motions of the arms and torso are optimized. The null space is then used to obtain the difference between the current joint angle and the desired joint angle within the null space. for: ; in, , and These represent the differences between the current joint angle corresponding to the current end-effector pose and the expected joint angle corresponding to the expected end-effector pose of the left and right arms of the dual-arm robot in the null space, respectively. To optimize the coefficients, the optimization direction and speed are determined; The pseudo-inverse matrix of Jacobi Orthogonal mappings in the null space; It is the identity matrix; Performance indicators within zero space gradient, The motion of the arms and torso of the dual-arm robot is optimized by using gradient direction to optimize performance indicators in null space. Step 62 involves adaptively selecting the joints that need to move in the null space using energy consumption gradients, and then performing the null space constraint task and energy consumption optimization task, thus resolving the issues from step 61. Rewritten as: ; In step 7 of the method, the main task joint angle correction amount from step 3 is adjusted as follows: Add the zero-space joint angle correction amount from step 6 The final distribution of joint motion is obtained. for: ; in, This represents the distribution of joint movements from the previous moment. This represents the number of iterations. This indicates the iteration speed during iterative solution.