A multi-robot arm cooperative garbage intelligent sorting method based on virtual joints

CN118594995BActive Publication Date: 2026-10-27HUZHOU INST OF ZHEJIANG UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410654303.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-24
Publication Date
2026-10-27
Estimated Expiration
2044-05-24

AI Technical Summary

Technical Problem

这样的协作避障思路对于规划决策的要求较高,且并不适用于高速作业下的多机械臂,因为决策系统需要事先考虑多个机械臂的执行动态和分配序列,这类集中式处理方法与高速作业的需求是矛盾的

Benefits of technology

[0016]本发明在考虑垃圾分拣作业中多机械臂并行作业工作空间重合情况下,提供一种高效实时的机械臂避障运动控制算法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118594995B_ABST
    Figure CN118594995B_ABST
Patent Text Reader

Abstract

A kind of multi-arm collaborative garbage intelligent sorting method based on virtual joint, the present application belongs to garbage sorting technical field, in particular to multi-arm collaborative garbage intelligent sorting method.The present application adopts cylindrical envelope approximation mechanical arm connecting rod, realizes mechanical arm obstacle avoidance at speed level, and this method is mainly oriented to the application scene of multi-arm collaborative garbage sorting.Process is as follows: adopt cylindrical envelope to each connecting rod of mechanical arm, obtain the cylindrical envelope model corresponding to each connecting rod of mechanical arm;Define the centers of upper and lower planes of cylindrical envelope model 1 in mechanical arm 1 as P1, P2;Define the centers of upper and lower planes of cylindrical envelope model 2 in mechanical arm 2 as Q1, Q2;Mechanical arm 1 considers obstacle avoidance, and mechanical arm 2 does not consider obstacle avoidance;Calculate the shortest distance of line segment P1P2 to line segment Q1Q2 and the gradient of shortest distance about joint angle;Obtain the joint speed control instruction of mechanical arm 1.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of waste sorting technology, and specifically relates to a multi-robotic arm collaborative intelligent waste sorting method. Background Technology

[0002] Waste sorting technology is a very important research topic in the current environmental protection field. Traditional manual sorting is low in cost and easy to operate, but it is labor-intensive, inefficient, and harmful to health. In contrast, tandem robotic arms combine the advantages of automation, environmental protection, efficiency, and health, and have been increasingly widely used in the field of waste sorting.

[0003] Serial robotic arms offer advantages such as large workspace and high dexterity. For waste sorting tasks, the process typically involves two parts: trajectory planning and motion control. Trajectory planning determines the position and orientation trajectory of the robotic arm's end effector based on its current state and the location of the target object. Motion control, on the other hand, refers to tracking control based on the planned time-varying reference trajectory. For efficiency reasons, medium to large-scale waste sorting lines often employ a parallel operation of multiple robotic arms. In this case, the workspaces of the robotic arms overlap, necessitating consideration of obstacle avoidance during collaborative operations.

[0004] However, current research mainly focuses on trajectory planning, specifically designing trajectories and allocating tasks to ensure that a robotic arm avoids contact with other robotic arms while performing its own tasks. This collaborative obstacle avoidance approach places high demands on planning and decision-making and is not suitable for multi-robotic arm operations at high speeds. This is because the decision-making system needs to consider the execution dynamics and allocation sequences of multiple robotic arms in advance, a centralized processing method that contradicts the requirements of high-speed operations. Therefore, it is necessary to implement robotic arm obstacle avoidance at the motion control level while ensuring efficient computation to meet real-time requirements. Summary of the Invention

[0005] The purpose of this invention is to provide a multi-robotic arm collaborative intelligent waste sorting method based on virtual joints. It adopts a cylindrical envelope approximation of the robotic arm links to achieve obstacle avoidance of the robotic arm at the speed level. This method is mainly aimed at the application scenario of multi-robotic arm collaborative waste sorting.

[0006] The specific process of a multi-robotic arm collaborative intelligent waste sorting method based on virtual joints is as follows:

[0007] Step 1: Envelop each link of the robotic arm with a cylinder to obtain the cylindrical envelope model corresponding to each link of the robotic arm;

[0008] Step 2: Define the centers of the upper and lower planes of the cylindrical envelope model 1 in the robotic arm 1 as P1 and P2, respectively;

[0009] Define the centers of the upper and lower planes of the cylindrical envelope model 2 in robotic arm 2 as Q1 and Q2, respectively;

[0010] Robotic arm 1 considers obstacle avoidance, while robotic arm 2 does not.

[0011] The joint angle of robotic arm 1 is q1;

[0012] The joint angle of robotic arm 2 is q2;

[0013] Step 3: Calculate the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle;

[0014] Step 4: Based on the shortest distance from line segment P1P2 to line segment Q1Q2 obtained in Step 3 and the gradient of the shortest distance with respect to the joint angle, obtain the joint speed control command for robotic arm 1.

[0015] The beneficial effects of this invention are as follows:

[0016] This invention provides a highly efficient and real-time obstacle avoidance motion control algorithm for robotic arms, taking into account the overlapping workspaces of multiple robotic arms operating in parallel during waste sorting operations.

[0017] In addition to ensuring real-time obstacle avoidance for the robotic arm, this invention also effectively guarantees the joint limit of the robotic arm, avoiding unreasonable tracking trajectories. Attached Figure Description

[0018] Figure 1 This is a schematic diagram of the cylindrical envelope of a robotic arm;

[0019] Figure 2 A schematic diagram for calculating the shortest distance between links (distance from a point to a line segment);

[0020] Figure 3 A schematic diagram for calculating the shortest distance (segment spacing) between links;

[0021] Figure 4 Flowchart for calculating the shortest distance between links and the derivative with respect to the endpoints;

[0022] Figure 5 This is a control algorithm framework diagram. Detailed Implementation

[0023] Specific Implementation Method 1: The specific process of this implementation method for multi-robotic arm collaborative intelligent waste sorting based on virtual joints is as follows:

[0024] Step 1: Envelop each link of the robotic arm with a cylinder to obtain the cylindrical envelope model corresponding to each link of the robotic arm;

[0025] Step 2: Define the centers of the upper and lower planes of the cylindrical envelope model 1 in the robotic arm 1 as P1 and P2, respectively;

[0026] Define the centers of the upper and lower planes of the cylindrical envelope model 2 in robotic arm 2 as Q1 and Q2, respectively;

[0027] Robotic arm 1 considers obstacle avoidance, while robotic arm 2 does not.

[0028] The joint angle of robotic arm 1 is q1;

[0029] The joint angle of robotic arm 2 is q2;

[0030] Step 3: Calculate the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle;

[0031] Step 4: Based on the shortest distance from line segment P1P2 to line segment Q1Q2 obtained in Step 3 and the gradient of the shortest distance with respect to the joint angle, obtain the joint speed control command for robotic arm 1 to realize intelligent waste sorting through multi-robotic arm collaboration.

[0032] Specific Implementation Method Two: This implementation method differs from Specific Implementation Method One in that: in step one, a cylinder is used to enclose each link of the robotic arm, obtaining a cylindrical envelope model corresponding to each link of the robotic arm; the specific process is as follows:

[0033] To simplify the calculations, based on the structural characteristics of the serial robotic arm, firstly as follows... Figure 1 As shown, a cylinder is used to enclose each link of the robotic arm to obtain the cylindrical envelope model corresponding to each link of the robotic arm;

[0034] The upper and lower planes of the cylinder are determined by the location of the robotic arm joints, and the radii of the upper and lower planes of the cylinder are set manually, usually by selecting a plane that precisely encloses the connecting rod.

[0035] The other steps and parameters are the same as in Specific Implementation Method 1.

[0036] Specific Implementation Method Three: This implementation method differs from Specific Implementation Method One or Two in that: in step three, the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle are calculated; the specific process is as follows:

[0037] Step 31: Calculate the following scalars respectively:

[0038] a = (P2 - P1) T (P2-P1)

[0039] b = (P2 - P1) T (Q2-Q1)

[0040] c = (Q2 - Q1) T (Q2-Q1)

[0041] d = (P1 - Q1) T (P2-P1)

[0042] e = (P1 - Q1) T (Q2-Q1)

[0043] Where a, b, c, d, and e are all parameters, all of which are known scalars; T is the transpose; · is the multiplication sign;

[0044] Step 3.2: Substitute a, b, c, d, and e into the following formula to obtain the coefficients. The expression is:

[0045]

[0046]

[0047] when (between 0 and 1, inclusive) When (between 0 and 1, including 0 and 1), execute step three to obtain the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle;

[0048] when (between 0 and 1, inclusive) or (between 0 and 1, inclusive) when ( If one of them does not belong or neither of them belongs, this step is executed. Then, execute steps three and four to obtain the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle.

[0049] Other steps and parameters are the same as in specific implementation method one or two.

[0050] Specific Implementation Method Four: This implementation method differs from Specific Implementation Methods One to Three in that: in step three, when... At that time, the shortest distance between link i of robotic arm 1 and link j of robotic arm 2 is the shortest distance from line P1P2 to line segment Q1Q2:

[0051]

[0052] Since the case study considers robotic arm 1 as the application vehicle for the algorithm, we only need to solve for the derivative of the shortest distance between link i of robotic arm 1 and link j of robotic arm 2 with respect to the corresponding link endpoints P1 and P2:

[0053]

[0054]

[0055] I3 represents the identity matrix;

[0056] Then through the chain rule (based on) and Given the expression, find the derivative of the shortest distance between the links of robotic arm 1 and robotic arm 2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0057]

[0058] Where T stands for transpose; · stands for multiplication.

[0059] The other steps and parameters are the same as those in one of the specific implementation methods one to three.

[0060] Specific Implementation Method Five: This implementation method differs from Specific Implementation Methods One to Four in that: in steps three and four, the shortest distance between link i of robotic arm 1 and link j of robotic arm 2, and the gradient of the shortest distance with respect to the joint angle are calculated; the specific process is as follows:

[0061] when or At that time, there are two cases for the shortest distance between link i of robotic arm 1 and link j of robotic arm 2: the shortest distance from point to line and the shortest distance from point to point.

[0062] The shortest distance from a point to a line segment can be found using a coefficient. The values ​​are further subdivided, and the calculation process is as follows: Figure 2 In this case study, four scenarios are specifically considered.

[0063] 1) Consider the shortest distance from point P1 to line segments Q1 and Q2, first calculate the coefficients.

[0064]

[0065] when At that time, the shortest distance from P1 to line segments Q1 and Q2 is equal to the distance from P1 to line Q1Q2:

[0066]

[0067] The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0068]

[0069] when When the shortest distance from P1 to line segments Q1 and Q2 is found, the distance from P1 to Q2 is calculated as follows:

[0070] D = P1 - Q2

[0071] The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0072]

[0073] when When the shortest distance from P1 to line segments Q1 and Q2 is found, the distance from P1 to Q1 is calculated as follows:

[0074] D = P1 - Q1

[0075] The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0076]

[0077] 2) Consider the shortest distance from point P2 to line segments Q1 and Q2, first calculate the coefficients.

[0078]

[0079] when At that time, the shortest distance from P2 to line segments Q1 and Q2 is equal to the distance from P2 to line Q1Q2:

[0080]

[0081] The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0082]

[0083] when When the shortest distance from P2 to line segments Q1 and Q2 is found, the distance from P2 to Q2 is calculated as follows:

[0084] D = P² - Q²

[0085] The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0086]

[0087] when When the shortest distance from P2 to line segments Q1 and Q2 is found, the distance from P2 to Q1 is calculated as follows:

[0088] D = P2 - Q1

[0089] The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0090]

[0091] 3) Consider the shortest distance from point Q1 to line segments P1 and P2, first calculate the coefficients.

[0092]

[0093] when At that time, the shortest distance from Q1 to line segments P1 and P2 is the distance from Q1 to line P1P2:

[0094]

[0095] The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0096]

[0097] when When the shortest distance from Q1 to line segments P1 and P2 is found, the distance from Q1 to P2 is calculated as follows:

[0098] D = Q1 - P2

[0099] The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0100]

[0101] when When the shortest distance from Q1 to line segments P1 and P2 is found, the distance from Q1 to P1 is calculated as follows:

[0102] D = Q1 - P1

[0103] The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0104]

[0105] 4) Consider the shortest distance from point Q2 to line segments P1 and P2, first calculate the coefficients.

[0106]

[0107] when At that time, the shortest distance from Q2 to line segments P1 and P2 is the distance from Q2 to line P1P2:

[0108]

[0109] The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0110]

[0111] when When the shortest distance from Q2 to line segments P1 and P2 is found, the distance from Q2 to P2 is calculated as follows:

[0112] D = Q² - P²

[0113] The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0114]

[0115] when When the shortest distance from Q2 to line segments P1 and P2 is found, the distance from Q2 to P1 is calculated as follows:

[0116] D = Q2 - P1

[0117] The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to the joint angle q1 (the gradient of the shortest distance with respect to the joint angle):

[0118]

[0119] against The minimum distance among values ​​1), 2), 3), and 4) is the shortest distance from the point to the line. Based on this shortest distance, the derivative of the corresponding shortest distance with respect to the joint angle q1 is determined (when...). When there are 4 distance values ​​in 1), 2), 3), and 4), the minimum distance is taken as the shortest distance from the point to the line, and the gradient of the shortest distance with respect to the joint angle.

[0120] The above solution process can be found in [reference needed]. Figure 2 As the number of links considered increases, the above process can be repeated to obtain the shortest distances between multiple links. The shortest distances between links and their derivatives with respect to joint angles are defined as the obstacle avoidance calculation module.

[0121] The other steps and parameters are the same as those in specific implementation methods one through four.

[0122] Specific Implementation Method Six: This implementation method differs from one of the specific implementation methods one to five in that: in step four, the joint speed control command of the robotic arm 1 is obtained based on the shortest distance from line segment P1P2 to line segment Q1Q2 obtained in step three and the gradient of the shortest distance with respect to the joint angle.

[0123] The specific process is as follows:

[0124] Step 41: Input the obstacle avoidance module's calculation results into the motion control algorithm:

[0125] Define the shortest distance between links i and j in robotic arms 1 and 2 as h. {1,2}{i,j} (q1, q2);

[0126] Where q1 is the joint angle of robotic arm 1; q2 is the joint angle of robotic arm 2;

[0127] Assume that robotic arm 1 is an active obstacle avoidance robotic arm, that is, when robotic arms 1 and 2 approach each other, robotic arm 1 actively avoids obstacles, while robotic arm 2 maintains its original tracking task;

[0128] Step 4.2: Define the virtual joint of robotic arm 1 as q. 1v,{1,2}{i,j} :

[0129] q 1v,{1,2}{i,j} =h {1,2}{i,j} (q1, q2)

[0130] The angular velocity of the virtual joint is then obtained as follows:

[0131]

[0132] in The shortest distance h {1,2}{i,j} The gradient with respect to q1;

[0133] in Let be the joint angular velocity of robotic arm 1;

[0134] Let h d1 =h {1,2}{i,j} (q1, q2), This represents the mapping from actual joint angular velocity to virtual joint angular velocity.

[0135] Since the obstacle avoidance task involves virtual joints, for the first virtual joint in robotic arm 1, h will be... d1 Substitute into the formula for calculating the weight factor w1

[0136]

[0137]

[0138] Where h d1- ∈ are manually set parameters, corresponding to acceptable link spacing thresholds and sensitive intervals; s is a preset parameter (a value greater than 1); h d1 (q1) represents the shortest distance; q1 represents the angle of the first virtual joint of robotic arm 1; w1 represents the weight factor of the first virtual joint in robotic arm 1; d1 is the normalization result.

[0139] Let h be the shortest distance between links i′ and j′ in robotic arms 1 and 2 respectively. {1,2}{i′,j′} (q1, q2), h d2 =h {1,2}{i′,j′} (q1, q2) correspond to the virtual joint angular velocities. The weight factor for the second virtual joint in robotic arm 1 is w2;

[0140] Let h be the shortest distance between links i″ and j″ in robotic arms 1 and 2 respectively. {1,2}{i″,j″} (q1,q2), h d3 =h {1,2}{i″,j″} (q1, q2) correspond to the virtual joint angular velocities. The weight factor for the third virtual joint in robotic arm 1 is w3;

[0141] Robotic arm 1 has U virtual joints, where U is a positive integer; the weight factor of the U-th virtual joint in robotic arm 1 is w. U ;

[0142] Step 4.3: For the actual joints of robotic arm 1, q 1,k Substitute into the weight factor calculation formula

[0143]

[0144]

[0145] Where q 1,kmin Let q be the lower limit of the joint angle of the kth actual joint of robotic arm 1. 1,kmax w represents the upper limit of the joint angle of the kth actual joint of robotic arm 1. k+U d is the weight factor for the k-th actual joint of robotic arm 1; k+U q represents the normalization result. 1,k This represents the angle of the kth actual joint of robotic arm 1, where k = 1, 2, 3, ..., K; s is a preset parameter (a value greater than 1); U is the number of virtual joints in robotic arm 1.

[0146] K is the actual total number of joints in robotic arm 1;

[0147] Step 4: Based on the weight factors of the U virtual joints of robotic arm 1 and the weight factors of the K actual joints of robotic arm 1, obtain the diagonal weight matrix W = diag(w1, w2, ... w k+U );

[0148] Obtain the mapping matrix and its generalized inverse:

[0149]

[0150] T(q1) # =(T(q1)T ×W×T(q1)) -1 ×T(q1) T ×W

[0151] Where I K Let T(q1) denote the identity matrix, K be the total number of actual joints in robotic arm 1, and T(q1) denote the mapping matrix. # Indicates generalized inverse;

[0152] Let h be the shortest distance between links i″′ and j″′ in robotic arms 1 and 2 respectively. {1,2}{i″′,j″ h'}(q1,q2), dU =h {1,2}{i″′,j″′} (q1, q2) correspond to the virtual joint angular velocities. The weight factor of the U-th virtual joint in robotic arm 1 is w U ;

[0153] Given the current Jacobian matrix J of robotic arm 1, the end position x, and the reference trajectory x. d Reference trajectory velocity Substitute control law

[0154] W v =T(q1) # ×W -1 ×(T(q1) # ) T

[0155]

[0156] Among them W v Indicates intermediate variables; It is a constant;

[0157] Finally, the joint velocities of robotic arm 1 are obtained. Control commands.

[0158] Current Jacobi matrix J, end position x, reference trajectory x d Reference trajectory velocity The quantity is known;

[0159] The control law can prevent link i of robotic arm 1 from colliding with link j of robotic arm 2 during the movement, and at the same time prevent the angles of each joint of robotic arm 1 from entering the limit position, thus realizing intelligent waste sorting.

[0160] The other steps and parameters are the same as those in specific implementation methods one through five.

[0161] Specific Implementation Method Seven: This implementation method differs from Specific Implementation Methods One to Six in that the preset parameter s is a value greater than 1.

[0162] The other steps and parameters are the same as those in specific implementation methods one through six.

[0163] Theoretical basis:

[0164] Step 1: Envelop each link of the robotic arm with a cylinder to obtain the cylindrical envelope model corresponding to each link of the robotic arm; the specific process is as follows:

[0165] To simplify the calculations, based on the structural characteristics of the serial robotic arm, firstly as follows... Figure 1 As shown, a cylinder is used to enclose each link of the robotic arm to obtain the cylindrical envelope model corresponding to each link of the robotic arm;

[0166] The upper and lower planes of the cylinder are determined by the location of the robotic arm joints, and the radii of the upper and lower planes of the cylinder are set manually, usually selected to precisely enclose the connecting rods;

[0167] Step 2: Define the centers of the upper and lower planes of the cylindrical envelope model 1 in the robotic arm 1 as P1 and P2, respectively;

[0168] Define the centers of the upper and lower planes of the cylindrical envelope model 2 in robotic arm 2 as Q1 and Q2, respectively;

[0169] The spatial line segments of the centers P1 and P2 in the cylindrical envelope model 1 are represented as l1 (the line connecting P1 and P2);

[0170] The spatial line segment representing the centers Q1 and Q2 in the cylindrical envelope model 2 is l2 (the line connecting Q1 and Q2);

[0171] l1: P1 + (P2 - P1)·λ1

[0172] l2: Q1+(Q2-Q1)·λ2

[0173] When λ1∈[0,1] and λ2∈[0,1], it indicates that the point is located on line segments P1P2 and Q1Q2; otherwise, the point is located outside the line segment.

[0174] Step 3: The shortest distance between line segments in space can be divided into three cases: the shortest distance between straight lines in space, the shortest distance from a point in space to a straight line, and the shortest distance from point to point in space.

[0175] First, we will discuss the shortest distance between straight lines in space;

[0176] Step 3: 1. Let the shortest distance between line segments l1 and l2 in space be located at the position of line segment l1.

[0177]

[0178] Let the shortest distance between line segments l1 and l2 in space be located at the position of line segment l2 in space.

[0179]

[0180] Among them, P c Let Q be the coordinates of the shortest distance between l1 and l2 at point l1. c Let L1 be the coordinates of the shortest distance between L1 and L2 at L2. For parameters;

[0181] Because of P c and Q c The common perpendicular line D(l1, l2) is perpendicular to l1 and l2 respectively, thus...

[0182]

[0183]

[0184] in

[0185] a = (P2 - P1) T (P2-P1),

[0186] b = (P2 - P1) T (Q2-Q1),

[0187] c = (Q2 - Q1) T (Q2-Q1),

[0188] d = (P1 - Q1) T (P2-P1),

[0189] e = (P1 - Q1) T (Q2-Q1),

[0190] a, b, c, d, and e are all parameters, and all are known scalars;

[0191] Substitute a, b, c, d, and e into the following equation to solve for the unknown quantity. The expression is:

[0192]

[0193]

[0194] If the solution is found This indicates that the shortest distance between the spatial line segments is exactly the shortest distance between spatial lines l1 and l2; otherwise, proceed to step three-two.

[0195] The expression for the perpendicular vector D(l1, l2) is:

[0196]

[0197]

[0198] Step 3.2: Calculate the distances from point P1 to line segment l2, point P2 to line segment l2, point Q1 to line segment l1, and point Q2 to line segment l1 respectively; the specific process is as follows:

[0199] The specific process for calculating the shortest distance D(P1, l2) from point P1 in space to line segment l2 is as follows:

[0200] Let the shortest distance from the midpoint P1 in space to the line l2 be located on the line l2.

[0201]

[0202] in, For parameters;

[0203] Since the shortest distance is from point P1 to the perpendicular line D(P1, l2) from line l2, then we get

[0204]

[0205] in

[0206] e = (P1 - Q1) T ·(Q2-Q1), c=(Q2-Q1) T (Q2-Q1)

[0207] c and e are both parameters, and v is a known scalar;

[0208] If the solution is found If the result is positive, it indicates that the shortest distance of the spatial line segment is exactly the distance from point P1 to line l2; otherwise, proceed to step three.

[0209] The expression for the perpendicular vector D(P1, l2) is:

[0210]

[0211] D(P1, l2) ∈ R 3×1 ;

[0212] Step 3: The shortest distance between the spatial line segments is the smaller of P1Q1 and P1Q2;

[0213] The perpendicular vector D(P1, Q1) formed by P1Q1 is expressed as:

[0214] D(P1, Q1) = P1 - Q1

[0215] D(P1, Q1)∈R 3×1 ;

[0216] The perpendicular vector D(P1, Q2) formed by P1 and Q2 is expressed as follows:

[0217] D(P1, Q2) = P1 - Q2

[0218] D(P1, Q2)∈R 3×1 ;

[0219] according to In this case, the division process can be simplified, when When the shortest distance is found, it is the shortest distance between lines l1 and l2. Otherwise, consider the distances from points P1 and P2 to line segment Q1Q2, and the distances from points Q1 and Q2 to line segment P1P2, and then... To simplify the division process, consider the distance from point P1 to line segment Q1Q2. When the shortest distance is P1Q1, the shortest distance is the shortest distance from the point to the line; otherwise, the shortest distance is the smaller of P1Q1 and P1Q2.

[0220] The shortest distance between line segments in space can be divided into three cases: the shortest distance between straight lines in space, the shortest distance from a point in space to a straight line, and the shortest distance from point to point in space.

[0221] Step 4: Calculate the gradient of the shortest distance with respect to the endpoints of the line segment; the specific process is as follows:

[0222] Similarly, considering the three cases of the shortest distance between lines in space, the shortest distance from a point in space to a line, and the shortest distance from a point in space to another point, gradient calculation methods are given for each case.

[0223] Based on the analytical form of the shortest distance, calculate the gradient of the shortest distance |D| with respect to the endpoints P1, P2, Q1, and Q2 of the line segment;

[0224] The specific process is as follows:

[0225] Step 4. Calculate the gradient of the shortest distance |D| with respect to its own vector, i.e., we have

[0226]

[0227] Step 4.2: Based on the gradients of the shortest distance D(l1, l2) between spatial line segments l1 and l2 with respect to P1, P2, Q1, and Q2 respectively;

[0228] The specific process is as follows:

[0229]

[0230]

[0231]

[0232]

[0233] Where I3 represents the identity matrix;

[0234] Using the perpendicularity property of the perpendicular lines D(l1, l2), i.e., D(l1, l2) ⊥ P1P2 and D(l1, l2) ⊥ Q1Q2, and multiplying by the chain rule, we can obtain...

[0235]

[0236]

[0237]

[0238]

[0239] That is, the gradient of the shortest distance D(l1,l2) between spatial line segments l1 and l2 with respect to the endpoints of the line segments is obtained;

[0240] Step 4.3: Based on the gradients of the shortest distance D(p,l) from the midpoint in space to the line with respect to P1, Q1, and Q2 respectively;

[0241] The specific process is as follows:

[0242]

[0243]

[0244]

[0245] Using the perpendicularity property of the common perpendicular line D(p,l), i.e., D(p,l)⊥Q1Q2, and multiplying by the chain rule, we can obtain...

[0246]

[0247]

[0248]

[0249] Step 5: Calculate the gradient of the shortest distance with respect to the joint angle.

[0250] In this step, the gradient of the endpoints of the line segment with respect to the joint angle is further solved, and the gradient of the shortest distance with respect to the joint angle is obtained by using the chain rule.

[0251] Consider solving for the derivative of the endpoint P1 of the line segment with respect to the joint angle q of the robotic arm. For the robotic arm, the endpoints of its links correspond to the positions of the intermediate joints. Therefore, its derivative with respect to the joint angle can be equivalent to the position Jacobian matrix:

[0252]

[0253] in The positional Jacobian of P1 with respect to joint angle q can be obtained analytically through offline solution. Using the chain rule, the gradient of the shortest distance with respect to the joint angle can be calculated:

[0254]

[0255] Note that when the shortest distance between spatial line segments corresponds to the distance from P1 to line segment Q1Q2, then... At this point, the movement of P2 will not affect the shortest distance.

[0256] Step 6: Construct an obstacle avoidance motion control algorithm based on virtual joints.

[0257] In this step, the shortest distance between the links of the robotic arm is used as a constraint. The constraint is rewritten into the form of a virtual joint through mapping. By using the constructed weight matrix, when the robotic arms are too close, the motion components of the robotic arms moving closer to each other are suppressed, thereby realizing obstacle avoidance control in the case of multi-robotic arm cooperative operation.

[0258] Define the shortest distance between links l and t in robotic arms i and j as h. {i,j},{l,t} (q i q j ), where q i q j This indicates the joint angles of the robotic arm, and the minimum spacing h is set manually. g The obstacle avoidance constraint can then be described as

[0259] h {i,j},{l,t} (q i q j )>h g

[0260] Let robotic arm i be the active obstacle avoidance robotic arm. That is, when robotic arms i and j approach each other, robotic arm i actively avoids the obstacle, while robotic arm j maintains its original tracking task. Define the virtual joint q of robotic arm i. iv,{i,j},{l,t} :

[0261] q iv,{i,j},{l,t} =h {i,j},{l,t} (q i q j )

[0262] The angular velocity of the virtual joint can then be obtained.

[0263]

[0264] in The shortest distance h {i,j},{l,t} Regarding q iThe gradient of the joint can be obtained in a similar way. Similarly, the virtual joint corresponding to the shortest distance between robotic arm i and other robotic arms can be obtained. Define the joint velocities of robotic arm i This includes both virtual joint velocities and actual joint velocities. Therefore, there is a mapping relationship.

[0265]

[0266] T(q) i T(q) is the mapping matrix. i ) is usually not a square matrix, and its generalized inverse is defined as

[0267] T(q i ) # =(T T ·W·T) -1 ·T T ·W

[0268] It is easy to obtain that T(q) i ) # ·T(q i ) = I. Where the weight matrix W = diag(w1, ..., w U+K ), defined as follows:

[0269]

[0270]

[0271]

[0272] Where s is a preset parameter (optional s=2), a larger value of s can be used when the control cycle is long. j≤U corresponds to the virtual joint (shortest distance h). j (q i )), j>U corresponds to the actual joint. For the virtual joint part, the shortest distance has a custom lower limit h. j- And the upper limit h j+ =∞, when the shortest distance h j (q i Approaching the limit h j- At that time, d j It will quickly approach 0, corresponding to the weighting factor w. j It rises rapidly from 0; and when h j (q i When h is within the normal range j (q i )≥h j- +∈ j- d j =1, corresponding to the weighting factor w j =0. For the actual joint portion, define h as 0. k+U(q i )=q i,k That is, the k-th actual joint angle in robotic arm i, where the joint angle has an upper limit h. j+ Lower limit h j- When the joint angle q i,k When approaching the limit, d k+U It will quickly approach 0, corresponding to the weighting factor w. k+U It rises rapidly from 1; while when q i,k Within the normal range, d k+U =1, corresponding to the weighting factor w k+U =1. Correspondingly, the original Jacobi matrix J is mapped as:

[0273] J ia =J i ·T(q i ) #

[0274] Then there is

[0275] Define the following control law:

[0276]

[0277] When the shortest distance between robotic arm i and other robotic arm links, for example h j (q i ) = h {i,j},{l,t} (q i q j When the value approaches a given threshold, the corresponding weighting factor w j →∞, then we have That is, suppressing h through weighting factors. {i,j},{l,t} (q i q j The motion components are further reduced to achieve obstacle avoidance. Similarly, when a joint k of the robotic arm i approaches its upper or lower limit, the corresponding weighting factor w... k →∞, then we have This prevents joint k from approaching the limit position further. Through this control law, the robotic arm achieves joint limiting and cooperative obstacle avoidance.

[0278] Because the actual control command is the joint speed. Therefore, the control law is further rewritten:

[0279] W v =T # ·W -1 ·(T # ) T

[0280]

[0281] in With a corresponding proportional-derivative controller, real-time obstacle avoidance motion control between the links of the robotic arms can be achieved during the collaborative waste sorting process involving multiple robotic arms.

[0282] The beneficial effects of the present invention are verified using the following embodiments:

[0283] Example 1:

[0284] To describe the present invention in more detail, the technical solution of the present invention will be described in detail below with reference to specific implementation examples and accompanying drawings.

[0285] See Figure 1 This implementation case is based on Figure 1 The cylindrical envelope diagram shown is implemented. In this case, it is assumed that both robotic arms 1 and 2 are used for garbage sorting, and there is a risk of collision with the third link of both. The obstacle avoidance motion control algorithm is applied to robotic arm 1, while obstacle avoidance is not considered for robotic arm 2. Both robotic arms 1 and 2 contain 3 joints.

[0286] At any time t, the control station can obtain the joint angles q1 and q2 of robotic arms 1 and 2. Based on the forward kinematics of the robotic arms, the positions of the endpoints P1 and P2, and Q1 and Q2 of the third link can be calculated. First, consider the case where the shortest distance between line segments is the shortest distance between lines, and calculate the following scalars:

[0287] a = (P2 - P1) T (P2-P1)

[0288] b = (P2 - P1) T (Q2-Q1)

[0289] c = (Q2 - Q1) T (Q2-Q1)

[0290] d = (P1 - Q1) T (P2-P1)

[0291] e = (P1 - Q1) T (Q2-Q1)

[0292] Substitute into the formula to find the coefficients

[0293]

[0294]

[0295] when At that time, the shortest distance between the links is:

[0296]

[0297] Since the case study considers robotic arm 1 as the application platform for the algorithm, it is only necessary to solve for the derivative of the shortest distance with respect to the corresponding link endpoints P1 and P2:

[0298]

[0299]

[0300] Then, using the chain rule, we find the derivative of the shortest distance with respect to the joint angle q1:

[0301]

[0302] when or At this point, the shortest distance between links can have two possibilities: the shortest distance from a point to a line, or the shortest distance from a point to another point. For the shortest distance from a point to a line segment, a coefficient can be used... The values ​​are further subdivided, and the calculation process is as follows: Figure 2 In this case study, four scenarios are specifically considered.

[0303] Consider the shortest distances from point P1 to line segments Q1 and Q2, first calculate the coefficients.

[0304]

[0305] when At that time, the shortest distance from P1 to line segments Q1 and Q2 is:

[0306]

[0307] when At that time, the shortest distance from P1 to line segments Q1 and Q2 is:

[0308] D = P1 - Q2

[0309] when At that time, the shortest distance from P1 to line segments Q1 and Q2 is:

[0310] D = P1 - Q1

[0311] regardless The value corresponds to the derivative with respect to the joint angle q1:

[0312]

[0313] Consider the shortest distances from point P2 to line segments Q1 and Q2, first calculate the coefficients.

[0314]

[0315] when At that time, the shortest distance from P2 to line segments Q1 and Q2 is:

[0316]

[0317] when At that time, the shortest distance from P2 to line segments Q1 and Q2 is:

[0318] D = P² - Q²

[0319] when At that time, the shortest distance from P2 to line segments Q1 and Q2 is:

[0320] D = P2 - Q1

[0321] regardless The value corresponds to the derivative with respect to the joint angle q1:

[0322]

[0323] Consider the shortest distance from point Q1 to line segments P1 and P2, first calculate the coefficients.

[0324]

[0325] when At that time, the shortest distance from Q1 to line segments P1 and P2 is:

[0326]

[0327] Its corresponding derivative with respect to joint angle q1:

[0328]

[0329] when At that time, the shortest distance from Q1 to line segments P1 and P2 is:

[0330] D = Q1 - P2

[0331] Its corresponding derivative with respect to joint angle q1:

[0332]

[0333] when At that time, the shortest distance from Q2 to line segments P1 and P2 is:

[0334] D = Q1 - P1

[0335] Its corresponding derivative with respect to joint angle q1:

[0336]

[0337] Consider the shortest distance from point Q2 to line segments P1 and P2, first calculate the coefficients.

[0338]

[0339] when At that time, the shortest distance from Q2 to line segments P1 and P2 is:

[0340]

[0341] Its corresponding derivative with respect to joint angle q1:

[0342]

[0343] when At that time, the shortest distance from Q2 to line segments P1 and P2 is:

[0344] D = Q² - P²

[0345] Its corresponding derivative with respect to joint angle q1:

[0346]

[0347] when At that time, the shortest distance from Q2 to line segments P1 and P2 is:

[0348] D = Q2 - P1

[0349] Its corresponding derivative with respect to joint angle q1:

[0350]

[0351] The above solution process can be found in [reference needed]. Figure 2 As the number of links considered increases, the above process can be repeated to obtain the shortest distances between multiple links. The shortest distances between links and their derivatives with respect to joint angles are defined as the obstacle avoidance calculation module.

[0352] The obstacle avoidance module's calculation results are then fed into the motion control algorithm, specifically the shortest distance h between links 3 of robotic arms 1 and 2. d1 =h {1,2},{3,3} (q1, q2) and Since the obstacle avoidance task involves virtual joints, h will be... d1 Substitute into the weight factor calculation formula

[0353]

[0354]

[0355] Where h d1-∈ are manually set parameters, corresponding to the acceptable link spacing threshold and sensitive range.

[0356] For the actual joints of robotic arm 1, since only one virtual joint is set in this example, h k =q 1,k+1 Substitute it into the weight factor calculation formula

[0357]

[0358]

[0359] Where q 1,k min Let q be the lower limit of the joint angle of the k-th joint of robotic arm 1. 1,k max w represents the upper limit of the joint angle of the k-th joint of robotic arm 1. 1+k d is the weighting factor for the k-th actual joint of robotic arm 1; 1+k q represents the normalization result. 1,k represents the actual angle of the kth joint of robotic arm 1; s is a preset parameter (a value greater than 1); the total number of joints of robotic arm 1 is 3;

[0360] Through the above calculations, the diagonal weight matrix W = diag(w1, ..., w4) is obtained, where w1 = w d1 The first element corresponds to the virtual joint (link spacing), and the last three elements correspond to the three actual joints of robotic arm 1. Substitute... Thus, the mapping matrix and its generalized inverse are obtained:

[0361]

[0362] T(q1) # =(T(q1) T ×W×T(q1)) -1 ×T(q1) T ×W

[0363] Based on the current Jacobian matrix J of robotic arm 1, the end position x, and the reference trajectory x d Reference trajectory velocity Substitute control law

[0364] W v =T(q1) # ×W -1 ×(T(q1) # ) T

[0365]

[0366] The final joint speed control command for robotic arm 1 is obtained. This control law ensures that link 3 of robotic arm 1 collides with link 3 of robotic arm 2 during movement, while preventing the angles of each joint of robotic arm 1 from entering the limit position.

[0367] This invention may have other embodiments. Without departing from the spirit and essence of this invention, those skilled in the art can make various corresponding changes and modifications according to this invention, but these corresponding changes and modifications should all fall within the protection scope of the appended claims.

Claims

1. A multi-robotic arm collaborative intelligent waste sorting method based on virtual joints, characterized in that: The specific process of the method is as follows: Step 1: Envelop each link of the robotic arm with a cylinder to obtain the cylindrical envelope model corresponding to each link of the robotic arm; Step 2: Define the centers of the upper and lower planes of the cylindrical envelope model 1 in the robotic arm 1 as P1 and P2, respectively; Define the centers of the upper and lower planes of the cylindrical envelope model 2 in robotic arm 2 as Q1 and Q2, respectively; Robotic arm 1 considers obstacle avoidance, while robotic arm 2 does not. The joint angle of robotic arm 1 is q1; The joint angle of robotic arm 2 is q2; Step 3: Calculate the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle; Step 4: Based on the shortest distance from line segment P1P2 to line segment Q1Q2 obtained in Step 3 and the gradient of the shortest distance with respect to the joint angle, obtain the joint speed control command for robotic arm 1.

2. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 1, characterized in that: In step one, a cylinder is used to enclose each link of the robotic arm, resulting in a cylindrical envelope model corresponding to each link of the robotic arm; the specific process is as follows: By enveloping each link of the robotic arm with a cylinder, a cylindrical envelope model corresponding to each link of the robotic arm is obtained. The upper and lower planes of the cylinder are determined by the location of the robotic arm joints, and the radii of the upper and lower planes of the cylinder are set manually.

3. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 2, characterized in that: In step three, the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle are calculated; the specific process is as follows: Step 31: Calculate the following scalars respectively: a=(P2-P1) T ·(P2-P1) b=(P2-P1) T ·(Q2-Q1) c=(Q2-Q1) T ·(Q2-Q1) d=(P1-Q1) T ·(P2–P1) e=(P1-Q1) T ·(Q2-Q1) Where a, b, c, d, and e are all parameters, all of which are known scalars; T is the transpose; · is the multiplication sign; Step 3.2: Substitute a, b, c, d, and e into the following formula to obtain the coefficients. The expression is: when When performing step three, obtain the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle; when or Then, execute steps three and four to obtain the shortest distance from line segment P1P2 to line segment Q1Q2 and the gradient of the shortest distance with respect to the joint angle.

4. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 3, characterized in that: In step three, the shortest distance between link i of robotic arm 1 and link j of robotic arm 2 is the shortest distance from line P1P2 to line segment Q1Q2: Find the derivatives of the shortest distance between link i of robotic arm 1 and link j of robotic arm 2 with respect to their corresponding endpoints P1 and P2: I3 represents the identity matrix; Then, using the chain rule, find the derivative of the shortest distance between the links of robotic arm 1 and robotic arm 2 with respect to the joint angle q1: Where T stands for transpose; · stands for multiplication.

5. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 4, characterized in that: In steps three and four, the shortest distance between link i of robotic arm 1 and link j of robotic arm 2, and the gradient of the shortest distance with respect to the joint angle are calculated; the specific process is as follows: 1) Consider the shortest distance from point P1 to line segments Q1 and Q2, first calculate the coefficients. when At that time, the shortest distance from P1 to line segments Q1 and Q2 is equal to the distance from P1 to line Q1Q2: The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to joint angle q1: when When the shortest distance from P1 to line segments Q1 and Q2 is found, the distance from P1 to Q2 is calculated as follows: D = P1 - Q2 The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to joint angle q1: when When the shortest distance from P1 to line segments Q1 and Q2 is found, the distance from P1 to Q1 is calculated as follows: D = P1 - Q1 The derivative of the shortest distance from P1 to line segments Q1 and Q2 with respect to joint angle q1: 2) Consider the shortest distance from point P2 to line segments Q1 and Q2, first calculate the coefficients. when At that time, the shortest distance from P2 to line segments Q1 and Q2 is equal to the distance from P2 to line Q1Q2: The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to joint angle q1: when When the shortest distance from P2 to line segments Q1 and Q2 is found, the distance from P2 to Q2 is calculated as follows: D = P² - Q² The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to joint angle q1: when When the shortest distance from P2 to line segments Q1 and Q2 is found, the distance from P2 to Q1 is calculated as follows: D = P2 - Q1 The derivative of the shortest distance from P2 to line segments Q1 and Q2 with respect to joint angle q1: 3) Consider the shortest distance from point Q1 to line segments P1 and P2, first calculate the coefficients. when At that time, the shortest distance from Q1 to line segments P1 and P2 is the distance from Q1 to line P1P2: The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1: when When the shortest distance from Q1 to line segments P1 and P2 is found, the distance from Q1 to P2 is calculated as follows: D = Q1 - P2 The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1: when When the shortest distance from Q1 to line segments P1 and P2 is found, the distance from Q1 to P1 is calculated as follows: D = Q1 - P1 The derivative of the shortest distance from Q1 to line segments P1 and P2 with respect to the joint angle q1: 4) Consider the shortest distance from point Q2 to line segments P1 and P2, first calculate the coefficients. when At that time, the shortest distance from Q2 to line segments P1 and P2 is the distance from Q2 to line P1P2: The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to the joint angle q1: when When the shortest distance from Q2 to line segments P1 and P2 is found, the distance from Q2 to P2 is calculated as follows: D = Q² - P² The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to the joint angle q1: when When the shortest distance from Q2 to line segments P1 and P2 is found, the distance from Q2 to P1 is calculated as follows: D = Q2 - P1 The derivative of the shortest distance from Q2 to line segments P1 and P2 with respect to joint angle Q1: against The minimum distance among 1), 2), 3), and 4) is the shortest distance from the point to the line. Based on the shortest distance, the derivative of the corresponding shortest distance with respect to the joint angle Q1 is determined.

6. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 5, characterized in that: In step four, based on the shortest distance from line segment P1P2 to line segment Q1q2 obtained in step three and the gradient of the shortest distance with respect to the joint angle, the joint speed control command of the robotic arm 1 is obtained. The specific process is as follows: Step 4.1 Define the shortest distance between links i and j in robotic arms 1 and 2 as h. {1,2}{i,j} (q1,q2); Where q1 is the joint angle of robotic arm 1; q2 is the joint angle of robotic arm 2; Step 4.2: Define the virtual joint of robotic arm 1 as q. 1v,{1,2}{i,j} : q 1v,{1,2}{i,j} =h {1,2}{i,j} (q1,q2) The angular velocity of the virtual joint is then obtained as follows: in The shortest distance h {1,2}{i,j} The gradient with respect to q1; in Let be the joint angular velocity of robotic arm 1; Let h d1 =h {1,2}{i,j} (q1,q2), This represents the mapping from actual joint angular velocity to virtual joint angular velocity. For the first virtual joint in robotic arm 1, h d1 Substitute into the formula for calculating the weight factor w1 Where h d1- ∈ are manually set parameters; s is a preset parameter; h d1 (q1) represents the shortest distance; q1 represents the angle of the first virtual joint of robotic arm 1, and w1 represents the weight factor of the first virtual joint in robotic arm 1. d1 is the normalized result; Let h be the shortest distance between links i′ and j′ in robotic arms 1 and 2 respectively. {1,2}{i′,j′} (q1,q2), h d2 =h {1,2}{i′,j′} (q1, q2) correspond to the virtual joint angular velocities. The weight factor for the second virtual joint in robotic arm 1 is w2; Let h be the shortest distance between links i″ and j″ in robotic arms 1 and 2 respectively. {1,2}{i″,j″} (q1,q2), h d3 =h {1,2}{i″,j″} (q1,q2), To correspond to virtual joint angular velocity The weight factor for the third virtual joint in robotic arm 1 is w3; Robotic arm 1 has U virtual joints, where U is a positive integer; the weight factor of the U-th virtual joint in robotic arm 1 is w. U ; Step 4.3: For the actual joints of robotic arm 1, q 1,k Substitute into the weight factor calculation formula Where q 1,kmin Let q be the lower limit of the joint angle of the kth actual joint of robotic arm 1. 1,kmax This represents the upper limit of the joint angle of the kth actual joint of robotic arm 1; w k+U is the weight factor of the kth actual joint of robotic arm 1; d k+U q represents the normalization result. 1,k This represents the angle of the kth actual joint of robotic arm 1, where k = 1, 2, 3, ..., K; s is a preset parameter; and U is the number of virtual joints in robotic arm 1. K is the actual total number of joints in robotic arm 1; Step 4: Based on the weight factors of the U virtual joints of robotic arm 1 and the weight factors of the K actual joints of robotic arm 1, obtain the diagonal weight matrix W = diag(w1, w2, ... w k+U ); Obtain the mapping matrix and its generalized inverse: T(q1) # =(T(q1) T ×W×T(q1)) -1 ×T(q1) T ×W Where I K Let T(q1) denote the identity matrix, K be the total number of actual joints in robotic arm 1, and T(q1) denote the mapping matrix. # Indicates generalized inverse; Given the current Jacobian matrix J of robotic arm 1, the end position x, and the reference trajectory x. d Reference trajectory velocity Substitute control law Wv=T(q1) # ×W -1 ×(T(q1) # ) T Among them W v Indicates intermediate variables; It is a constant; Finally, the joint velocities of robotic arm 1 are obtained. Control commands.

7. The multi-robotic arm collaborative intelligent waste sorting method based on virtual joints according to claim 6, characterized in that: The preset parameter s is a value greater than 1.

Citation Information

Patent Citations

  • Systems and methods for determining an angle and a shortest distance between longitudinal axes of a travel way line and a vehicle

    CN114076971A

  • Double-mechanical-arm collaborative obstacle avoidance motion planning optimization method based on mixed geometric characterization

    CN115008475A