Intelligent unordered mixed cargo boxing and trajectory planning method for stacking mechanical arm
By establishing a boxing constraint model and using a trajectory planning method combined with greedy algorithms and RNN, the problem of palletizing robotic arms in a disordered mixed cargo environment is solved, and efficient trajectory tracking and obstacle avoidance are achieved. Improved packing efficiency and safety.
Patent Information
- Application Number
- CN202411663195.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-20
- Publication Date
- 2025-01-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing palletizing robotic arms are difficult to achieve real-time palletization when dealing with disordered, multi-size mixed cargo, and the calculation is complex and time-consuming. The traditional obstacle avoidance scheme ignores the physical constraints of the robotic arms, which may lead to motion impact and safety issues.
A disorderly mixed cargo intelligent packing and trajectory planning method is proposed. By establishing a packing constraint model, greedy algorithm and recurrent neural network (RNN) are used to combine positive kinematic analysis and Jacobian matrix to establish robotic arm trajectory tracking and obstacle avoidance The quadratic planning (QP) model considers the physical constraints and obstacle constraints of the robotic arm, and realizes online packing and trajectory planning.
Improve the utilization rate of packing space, increasing by about 10%, and realizes efficient tracking and obstacle avoidance of the robotic arm under the multi-constraint conditions. It is suitable for dynamic response and real-time palletization requirements, avoids the impact of the robotic arm motion, and meets the Real-time obstacle avoidance requirements for redundant robotic arms with multiple degrees of freedom.
Smart Images

Figure CN119262631A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of packing and trajectory planning of a palletizing robot arm, and in particular to an intelligent packing and trajectory planning method for disordered mixed goods facing a palletizing robot arm. Background Art
[0002] In the field of logistics and warehousing, with the rapid rise of e-commerce and the rapid development of the logistics industry, mixed palletizing technology has become the key to improving distribution efficiency and reducing the need for manual operations;
[0003] Fixed palletizing solution for uniform specifications of goods:
[0004] Most of the existing palletizing robot applications are for palletizing goods of uniform specifications and sizes. The robot performs automatic palletizing operations according to a pre-planned path. The advantages of this solution are simple system structure, fixed planning path, and easy control; however, it has poor adaptability to the type of goods. Once the specifications or sizes of the goods change, the system cannot operate normally, which limits its application in logistics warehousing.
[0005] Packing and palletizing algorithm based on offline planning:
[0006] In existing logistics palletizing systems, offline planning is usually used for packing and palletizing, that is, the optimal palletizing and packing plan is generated under the condition of global known cargo information. This algorithm can perform comprehensive optimization under the condition of global information to obtain better palletizing effect. However, its calculation process is complex and time-consuming, and it is difficult to adapt to the flow of goods at the logistics site in real time, especially in the situation where goods arrive randomly and are mixed with multiple specifications and sizes. This method cannot meet the requirements of dynamic response and real-time palletizing.
[0007] Robotic arm motion control based on simple obstacle avoidance planning:
[0008] In the prior art, some robotic arms perform simple obstacle avoidance planning on a preset path through basic obstacle avoidance algorithms. This type of solution mostly uses a method based on the pseudo-inverse solution of the Jacobian matrix to enable the robotic arm to avoid obstacles on the motion trajectory. Although this method can solve the problem of robotic arm obstacle avoidance to a certain extent, its real-time and obstacle avoidance efficiency in complex scenarios is low, especially in the application of multi-degree-of-freedom redundant robotic arms. Its obstacle avoidance planning requires real-time calculation of the pseudo-inverse of the Jacobian matrix, resulting in long calculation time and limited system performance. In addition, traditional obstacle avoidance solutions often ignore the physical constraints of the robotic arm itself, such as joint angle limits, speed, and acceleration, which may cause robotic arm movement impact and safety issues in actual operations.
[0009] However, current palletizing technologies are mostly targeted at single goods with uniform specifications and cannot effectively cope with the real-time palletizing needs of disordered, mixed goods of multiple sizes. Therefore, how to enable the palletizing robot to quickly adapt to and efficiently complete palletizing in a dynamic environment of mixed goods is a technical problem that needs to be solved. Summary of the invention
[0010] 1. Technical issues to be solved
[0011] In view of the shortcomings of the prior art, the present invention provides an intelligent packing and trajectory planning method for disordered mixed goods for a palletizing robot arm, which has the advantages of packing and trajectory planning and obstacle avoidance, and solves the above-mentioned technical problems.
[0012] (II) Technical solution
[0013] To achieve the above object, the present invention provides the following technical solution: a method for intelligent packing and trajectory planning of disordered mixed goods for a palletizing robot arm, comprising the following steps:
[0014] S1. Establish a constraint model for the packing problem. The specific expression of the constraint model for the packing problem is as follows:
[0015]
[0016] st
[0017]
[0018]
[0019] R≥d
[0020] g∈G
[0021] Among them, n represents the total amount of goods, l i 、w i 、h i Respectively represent the length, width, and height of the i-th cargo, Indicates the total volume of the cargo loaded. Indicates the maximum total volume of the cargo loaded. L, W, and H represent the length, width, and height of the container, respectively. ij , Y ij , Z ij Respectively indicate whether the i-th cargo overlaps with the j-th cargo in the X, Y, and Z directions, R represents the bottom support rate of the cargo, and d represents the contact area threshold. The expressions are as follows:
[0022]
[0023]
[0024]
[0025] Among them, x i ,y i 、z i They represent the coordinates of the lower left rear point where the i-th cargo is placed, x j ,y j 、z j They represent the coordinates of the lower left rear point where the jth cargo is placed;
[0026] S2, using a greedy algorithm based on the layer-by-layer stacking strategy, and combining the height difference between the goods and the remaining space to select the placement point for each item;
[0027] S3. Based on the forward kinematics analysis and Jacobian matrix of the robot arm, a QP model of trajectory tracking and obstacle avoidance of the robot arm is established, and RNN is used to solve it to complete trajectory tracking and obstacle avoidance. Among them, the model of the robot arm is established using the improved DH parameter method.
[0028] As a preferred technical solution of the present invention, the specific process of step S2 is as follows:
[0029] S2.1, sort the placement point list and the initial solution;
[0030] The process of sorting the placement point list is as follows: compare the Z coordinate values of the two placement points a and b, and output the smaller one; if the Z coordinate values are equal and the Y coordinate values are not equal, then output the one with the smaller Y coordinate value; if the Z coordinate values are equal and the Y coordinate values are equal and the X coordinate values are not equal, then output the one with the smaller X coordinate value;
[0031] S2.2, determine whether the placement point coordinates X and Y are 0, if yes, execute step S2.3, if not, execute step S2.5;
[0032] S2.3. Select the cargo with the largest volume as the cargo to be packed;
[0033] S2.4, update the placement point list, and stop, waiting for the next round of placement;
[0034] S2.5, determine whether the placement point is on the X, Y boundary, if so, execute step S2.6, if not, execute step S2.12;
[0035] S2.6, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.7; if it is determined not to be completed, execute step S2.8;
[0036] S2.7, determine whether there is a new solution, if there is a new solution, execute step S2.4. If there is no new solution, change the placement point and jump to step S2.2;
[0037] S2.8, select different goods or positions;
[0038] S2.9, determine whether the goods in step S2.8 can be placed at the placement point, if not, jump to step S2.6, if yes, execute step S2.10;
[0039] S2.10, calculate the new solution by height difference;
[0040] S2.11. Determine whether to accept the new solution. If so, update the goods to be packed;
[0041] S2.12, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.13; if it is determined not to be completed, execute step S2.14;
[0042] S2.13, determine whether there is a new solution, if there is a new solution, change the placement point and jump to step S2.2; if there is no new solution, jump to step S2.4;
[0043] S2.14, select different goods or positions;
[0044] S2.15, determine whether the goods in step S2.14 can be placed at the placement point, if not, jump to step S2.13, if yes, execute step S2.16;
[0045] S2.16. Calculate a new solution using the height difference and the residual space, and jump to step S2.11.
[0046] As a preferred technical solution of the present invention, the specific expression of the QP model established in step S3 is as follows:
[0047]
[0048] st
[0049]
[0050] in, represents the joint velocity, η + and η - express and The value of , J(θ) represents the Jacobian matrix, represents the joint angle limit, represents the joint velocity limit, k and μ represent class functions.
[0051] As a preferred technical solution of the present invention, the residual space includes a horizontal residual space and a vertical residual space, and the corresponding expressions are as follows:
[0052]
[0053]
[0054] Among them, d x ,d y They represent custom parameters for determining whether residual space is formed, and L and W represent the length and width of the container, respectively.
[0055] Compared with the prior art, the present invention provides an intelligent packing and trajectory planning method for disordered mixed goods for a palletizing robot arm, which has the following beneficial effects:
[0056] 1. The present invention proposes a fitness index of residual space to evaluate the fitness value of goods and posture in the buffer area by combining the cargo size constraints, intersection constraints between goods, loading order constraints and stability constraints in the actual packing process, so as to seek the optimal online packing solution. In order to verify the effectiveness of the algorithm, a simulation experimental platform was built based on Unity3D. The experimental results show that the algorithm's space utilization rate reaches an average of about 64%. The introduction of the fitness index of residual space improves the space utilization rate of packing by about 10%.
[0057] 2. The present invention abstracts the obstacles in the robot arm and the palletizing environment into critical point sets respectively, describes the distance between the robot arm and the obstacles in a simpler way, and then uses a general K-type function to establish an obstacle avoidance strategy in the form of inequality constraints. The trajectory tracking error minimization method is used to transform the control problem into a quadratic programming problem under multiple constraints, and then a recurrent neural network considering the system model is established to solve the QP problem online. Theoretical derivation and numerical simulation results show that the controller can avoid obstacles and track a predefined trajectory under physical constraints. The method is experimentally verified using the Franka robot arm. The experimental results show that the algorithm is efficient in processing the motion trajectory planning of the robot arm, and is suitable for solving the problems of avoiding obstacles and avoiding joint angle limits while achieving trajectory tracking. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 This is a schematic diagram of the greedy algorithm flow of the present invention;
[0059] Figure 2 This is a schematic diagram of a three-dimensional box packing visualization simulation platform of the present invention;
[0060] Figure 3 It is a schematic diagram of the experimental results of the present invention;
[0061] Figure 4 This is a schematic diagram of the control architecture of the experimental platform of the present invention;
[0062] Figure 5 This is a schematic diagram of the experimental results without considering obstacle avoidance in the present invention;
[0063] Figure 6 This is a schematic diagram of the trajectory of the obstacle avoidance robot arm not considered in the present invention;
[0064] Figure 7 A schematic diagram of the obstacle avoidance experiment results considered by the present invention;
[0065] Figure 8 A schematic diagram of the trajectory of the obstacle avoidance robot arm is considered for the present invention;
[0066] Fig. 9 It is a schematic diagram of the curve of the change of the parameter σi with time of the present invention;
[0067] Fig.10 is the parameter τ of the present invention i Schematic diagram of the curve of change over time. DETAILED DESCRIPTION
[0068] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0069] See also Figure 1-10 , an intelligent packing and trajectory planning method for disordered mixed goods for a palletizing robot arm, comprising the following steps:
[0070] S1. Establish a constraint model for the packing problem. The specific expression of the constraint model for the packing problem is as follows:
[0071]
[0072] st
[0073]
[0074]
[0075] R≥d
[0076] g∈G
[0077] Among them, n represents the total amount of goods, l i 、w i 、h i Respectively represent the length, width, and height of the i-th cargo, Indicates the total volume of the cargo loaded. Indicates the maximum total volume of the cargo loaded. L, W, and H represent the length, width, and height of the container, respectively. ij , Y ij , Zij Respectively indicate whether the i-th cargo overlaps with the j-th cargo in the X, Y, and Z directions, R represents the bottom support rate of the cargo, and d represents the contact area threshold. The expressions are as follows:
[0078]
[0079]
[0080]
[0081] Among them, x i ,y i 、z i They represent the coordinates of the lower left rear point where the i-th cargo is placed, x j ,y j 、z j They represent the coordinates of the lower left rear point where the jth cargo is placed;
[0082] S2, using a greedy algorithm based on the layer-by-layer stacking strategy, and combining the height difference between the goods and the remaining space to select the placement point for each item;
[0083] The residual space includes the horizontal residual space and the vertical residual space, and the corresponding expressions are as follows:
[0084]
[0085]
[0086] Among them, D x , D y They represent the custom parameters for determining whether residual space is formed, L and W represent the length and width of the container respectively;
[0087] The specific process of step S2 is as follows:
[0088] S2.1, sort the placement point list and the initial solution;
[0089] The process of sorting the placement point list is as follows: compare the Z coordinate values of the two placement points a and b, and output the smaller one; if the Z coordinate values are equal and the Y coordinate values are not equal, then output the one with the smaller Y coordinate value; if the Z coordinate values are equal and the Y coordinate values are equal and the X coordinate values are not equal, then output the one with the smaller X coordinate value;
[0090] S2.2, determine whether the placement point coordinates X and Y are 0, if yes, execute step S2.3, if not, execute step S2.5;
[0091] S2.3. Select the cargo with the largest volume as the cargo to be packed;
[0092] S2.4, update the placement point list, and stop, waiting for the next round of placement;
[0093] S2.5, determine whether the placement point is on the X, Y boundary, if so, execute step S2.6, if not, execute step S2.12;
[0094] S2.6, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.7; if it is determined not to be completed, execute step S2.8;
[0095] S2.7, determine whether there is a new solution, if there is a new solution, execute step S2.4. If there is no new solution, change the placement point and jump to step S2.2;
[0096] S2.8, select different goods or positions;
[0097] S2.9, determine whether the goods in step S2.8 can be placed at the placement point, if not, jump to step S2.6, if yes, execute step S2.10;
[0098] S2.10, calculate the new solution by height difference;
[0099] S2.11. Determine whether to accept the new solution. If so, update the goods to be packed;
[0100] S2.12, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.13; if it is determined not to be completed, execute step S2.14;
[0101] S2.13, determine whether there is a new solution, if there is a new solution, change the placement point and jump to step S2.2; if there is no new solution, jump to step S2.4;
[0102] S2.14, select different goods or positions;
[0103] S2.15, determine whether the goods in step S2.14 can be placed at the placement point, if not, jump to step S2.13, if yes, execute step S2.16;
[0104] S2.16, calculate a new solution using the height difference and the residual space, and jump to step S2.11;
[0105] The algorithm process first determines the placement point according to the arrangement order of the placement points, and then makes a judgment based on the coordinate position of the placement point. If the X and Y coordinate values of the placement point are 0, the algorithm will select the most suitable cargo according to the size of the cargo. If the X coordinate of the placement point is close to the cage length L or the Y coordinate is close to the cage length W, the algorithm will traverse all cargo positions in the buffer area and place the cargo with the smallest height difference or residual space and its corresponding position. Otherwise, only the height difference is considered for cargo placement. If the algorithm cannot find cargo that can be placed, it will change the placement point according to the arrangement order of the placement point and repeat this process until all possible placement points have been traversed or possible placement cargo has been found. After the placement is completed, the algorithm will update the placement points in the cage where the cargo can be placed and start the next round of packing.
[0106] The pseudo code of step S2 is given as follows:
[0107]
[0108]
[0109]
[0110] Algorithm 1 is the pseudo code of the framework of the entire three-dimensional online heuristic packing algorithm. In this algorithm, line 1 first initializes a list of placement points, takes the origin of the coordinate system as the initial placement point, and initializes two reference lines My and Mz with an initial value of 0. Lines 2-4 detect whether the goods in the buffer area have reached the maximum capacity. If not, randomly generate goods to reach the maximum capacity of the buffer area. Line 5 selects the placement points in order, and line 6 initializes the flag of finding a suitable goods to put into the placement point, and finds true. Lines 7-15 try to put the goods in the buffer area and the posture of the goods into the placement point in turn, and detect whether the goods placed in the placement point meet various constraints, and calculate the fitness value for the goods and postures that meet the constraints. After traversing all postures, select the goods with the best fitness to put them into the placement point, delete the current placement point, add three new placement points, and finally exit the loop to pack the next goods. Lines 16-26, if no suitable goods have been found, and My and Mz have not reached the maximum value, then increase the reference lines My and Mz according to the rules and try to place the goods again. Lines 27-30: If no cargo can be placed on the reference lines My and Mz or My=W, Mz=H, a new container is replaced and the data is initialized to continue packing;
[0111] In order to test the practicality of the algorithm, the principle of random selection must be followed in selecting goods. This paper adopts the idea of roulette algorithm and proposes an algorithm for randomly selecting goods. The algorithm determines the probability of goods being randomly selected by the proportion of the quantity of each kind of goods to the total quantity. It not only takes into account the different quantities of various goods, but also conforms to the random characteristics of online palletizing goods. The specific implementation process is shown in the pseudo code of Algorithm2. Among them, the input itemList is a list of all types of goods stored in proportion according to the express company's cargo box data. Lines 1-4 represent the accumulation of the quantity of each type of goods and the calculation of the total sum of all remaining goods; Line 5 represents the random generation of a positive integer in [0,100]; Lines 6-7 represent finding the type of goods corresponding to the randomly generated positive integer and returning the goods;
[0112]
[0113]
[0114] Algorithm 3 is a pseudo code for selecting the goods and postures with the best fitness in the cache area. After the stacking point is selected, the fitness function is selected according to different scenarios to calculate the fitness value adaptationValue of the current goods and postures. maxAdaptationValue represents the highest fitness value among all previous goods and postures. Lines 3-8 represent the calculation of the fitness value of each goods and posture at the current placement point, and compare it with the previous maximum fitness value. If it is greater than the previous maximum fitness value, the maximum fitness value and the corresponding goods and posture are updated, otherwise it remains unchanged; Line 9 represents the return of the goods and posture corresponding to the maximum fitness value.
[0115]
[0116] Algorithm 4 is a pseudo code for sorting placement points, which is convenient for selecting subsequent palletizing placement points. Lines 1-2 indicate that if the Z coordinate values of the two placement points a and b are not equal, the smaller Z coordinate value is returned; lines 3-4 indicate that if the Z coordinate values are equal but the Y coordinate values are not equal, the smaller Y coordinate value is returned; lines 5-6 indicate that if the Z coordinate values are equal but the Y coordinate values are equal but the X coordinate values are not equal, the smaller X coordinate value is returned;
[0117]
[0118] The algorithm is used to detect whether the cargo item can meet the constraints and be placed at the placement point.
[0119] Pseudo code. Lines 1-2 indicate that if the goods exceed the cage in the X-axis direction, false is returned; lines 3-6 indicate that if the goods exceed the reference line My,Mz after being placed, false is returned; lines 7-8 indicate that if the bottom support area of the goods after being placed is less than the threshold R, false is returned; lines 8-9 indicate that if the goods intersect with other goods in the cage, false is returned; line 11 indicates that if all the above constraints are met, true is returned;
[0120]
[0121]
[0122] (1) Development environment
[0123] This paper uses Unity3D to build a visual simulation experiment platform under Windows 11 operating system, and uses C# programming language to write the main program and interface display code. All experiments are carried out on a personal notebook with AMD Ryzen 7 5800 H with Radeon Graphics processor.
[0124] Unity3D is a cross-platform game engine developed by UnityTechnologies. It is a powerful and easy-to-use game development tool that is widely used in game development, virtual reality, augmented reality, and other interactive application development. Unity3D provides an integrated development environment, including editors, scripting languages, graphics rendering engines, physics engines, audio systems and other functional modules, allowing developers to carry out all-round game development on a unified platform. The engine supports multiple platforms, including Windows, Mac, iOS, Android, WebGL, etc., allowing developers to easily build and publish games on different platforms.
[0125] Unity3D adopts a component-based development model, which treats game objects as a collection of different components. Developers can build game scenes and functions by adding, configuring and combining these components.
[0126] (2) Operating environment
[0127] The running configuration of this experiment is as follows:
[0128] CPU: AMD Ryzen 75800H with Radeon Graphics; Storage device: 32G RAM, 256G hard disk capacity;
[0129] Display device: HDMI display;
[0130] Platform environment: operating system Windows 11, software unity3D2021, VisualStudio2022.
[0131] (3) Experimental goods refer to Table 1:
[0132] Table 1: Cargo Model Information Table
[0133]
[0134] The custom parameters Dx and Dy values for forming the residual space are set to 20 cm. This paper conducts a set of control experiments, one of which considers the residual space and the other does not. Each set of experiments is packed 20 times, and the results are as follows: Figure 3 As shown in the figure, (a) is the experimental result graph without considering the residual space. The average packing rate of the first 19 times is 54.473%, and the packing rate of the twentieth time is 54.941%. (b) is the experimental result graph considering the residual space. The average packing rate of the first 19 times is 64.285%, and the packing rate of the twentieth time is 66.892%. (c) is the packing rate line chart of a single experiment. It can also be intuitively seen that the packing rate considering the residual space is generally higher than the packing rate not considering the residual space. Therefore, the packing algorithm considering the residual space has a significant improvement in the packing rate.
[0135] S3. Based on the forward kinematics analysis and Jacobian matrix of the robot arm, a QP model for trajectory tracking and obstacle avoidance of the robot arm is established, and RNN is used to solve it to complete trajectory tracking and obstacle avoidance. The model of the robot arm is established using the improved DH parameter method.
[0136] The specific expression of the QP model established in step S3 is as follows:
[0137]
[0138] st
[0139]
[0140]
[0141] in, represents the joint velocity, η + and η - express and The value of , j(θ) represents the Jacobian matrix, represents the joint angle limit, represents the joint velocity limit, k and μ represent class functions;
[0142] The QP model established here is obtained by improving the initial QP model. The initial QP model expression is as follows:
[0143]
[0144] st
[0145] θ - <θ<θ +
[0146]
[0147] g(A i , O j )>d, i=1,...aj=1,...b
[0148] For θ - <θ<θ + and g(A i , O j )>d respectively perform joint angle limit transformation and obstacle avoidance detection transformation, and
[0149] The strategy used to convert joint angle limit constraints into joint velocity level is: let the current joint angle θ(t), (θ + -θ) is the difference between the upper limit of the joint angle and the current joint angle. According to the velocity escape method, if the following inequality is satisfied, the current joint angle θ(t) is less than the upper limit of the joint angle θ + Always holds true:
[0150]
[0151] Similarly, when the series inequality is satisfied, the current joint angle θ(t) is greater than the lower limit of the joint angle θ - Always holds true:
[0152]
[0153] Where μ>0 is a constant used to adjust the feasible domain of joint speed according to the actual situation of the robot arm. The joint speed converted from the above formula is The feasible domain of will be slightly larger than the original joint velocity limit. Therefore, the two double-ended constraints can be merged into a unified double-ended constraint. The principle of merging is to take the intersection of the two ends, that is,
[0154] Obstacle avoidance detection conversion:
[0155] For g(P i , O j)≥d, we can also use a method similar to the joint limit transformation speed to re-form a new key point P by taking its derivative. i For obstacle point O j The obstacle avoidance inequality is as follows:
[0156] dg(P i , O j ) / dt≥-sgn(D)k(|D|)
[0157] Where k(·) belongs to the k-type function, D=g(P i , O j )-dKey point A on the robot arm's own rod i The velocity can be expressed by the joint angular velocity: Where j ai ∈R m×n It is the key point P i The Jacobian matrix of Substituting the condition into the formula dg(P i , O j ) / dt
[0158] It can be used to i , O j ) / dt is converted into the velocity layer as follows:
[0159]
[0160] In the formula is the vector P i O j The unit vector of Substituting into the inequality dg(P i , O j ) / dt≥-sgn(D)k(|D|) can get the key point P of the velocity layer i For obstacle point O j The obstacle avoidance inequality is as follows:
[0161]
[0162] make
[0163] inequality The new key point P can be obtained i For obstacle point O j The obstacle avoidance inequality is as follows: o =[j 11 ;j 12 ;...j 1b ;...j a1 ;ja2 ;...j ab ]; B = [B 11 ; B 12 ...B 1b ; B a1 ; B a2 ;...B ab ],j o ∈R ab×n , B∈R a×b
[0164] Thus, the obstacle avoidance inequality of the entire obstacle avoidance system is obtained:
[0165] The vector of joint angular velocity, that is, the rotation speed of each joint of the robot. This vector is the target variable for optimization and is used to adjust the movement of the robot.
[0166] The desired terminal velocity vector is the target velocity of the end effector. This represents the desired trajectory velocity and is the goal of trajectory tracking.
[0167] k: Functional form for handling obstacle avoidance. Used to adjust the error feedback strength for trajectory tracking. This coefficient scales the compensation for trajectory error so that the robot can move toward the desired trajectory faster or slower.
[0168] e: Trajectory tracking error, defined as e = xx d , where x is the current end position, x d is the target position. This error represents the deviation between the current actual position and the target position.
[0169] η- and η+: Upper and lower limits on the joint angular velocity, representing the physical limitations that the joint velocity must meet during the optimization process. These limits ensure that the robot moves within a safe and operable range.
[0170] J0(θ): The Jacobian matrix used for obstacle avoidance, which combines the constraint relationship between the key points and the obstacle positions to ensure that there is a sufficient safe distance between the key points and the obstacles.
[0171] B: Boundary vector of obstacle avoidance constraint, used together with J0(θ) to define the minimum safe distance between the key point and the obstacle. This ensures that the robot arm stays within the safe range in actual operation.
[0172] The pseudo code of the RNN structure in this application is as follows. Its main inputs are parameters: k, μ, ε, k-type functions, and joint angle limits: Joint speed limit: Sampling period dt, task duration T, end effector feedback x(t), derivation formula of tracking error Φ(e), Jacobian matrix J(θ) and analytical expression of obstacle avoidance g(x). Output is joint velocity command Among them, λ1 plays an important role in handling obstacle avoidance tasks. The algorithm calculates the change rate of the joint angle θ within the control cycle. This method ensures the consistency of the joint speed command and provides a reference for the design of the anti-shake dynamic controller:
[0173]
[0174] In the experiment, a desired trajectory x is designed d =[0.4; 0.1cos(0.5t); 0.2+0.1sin(0.5t)]; expected speed The trajectory is a circle with a radius of 0.1m in the YZ plane, and the coordinates of the center of the circle are P0 = [0.4; 0.1; 0.3]. The obstacle is a sphere with a radius of 0.05m and the coordinates of the center of the sphere are P c =[0.1; 0.3; 0.4]. The safety distance d is set to 0.2m, and the initial angle of the robot arm is [0; -pi / 4; 0; -3pi / 4; 0; pi / 2; pi / 4]. The selection of various control parameters: k = 12, μ = 3, ε = 0.001, dt = 0.001, k-type function k(|D|) = 6×tanh(10×|D|). In order to more intuitively reflect the constraints of the joint angle in the experiment, a new parameter σ is defined i . It is equal to the i-th joint angle minus the median of its upper and lower limits, and then divided by the difference between the upper and median limits; Figure 5 (a) is the error curve between the actual trajectory and the expected trajectory. The error e converges within 2.5 seconds and stabilizes near 0. It can be inferred that the robotic arm can accurately track the expected trajectory. Figure 5 (b) and (c) are curves showing the changes of joint angles and velocities over time, and the joint angles and velocities are all within the corresponding limit ranges. Figure 5 (d) is a graph showing the difference between the Euclidean norm and the safety distance over time. The difference is less than 0 at around 13 seconds, so the rod of the robot arm collides with the virtual obstacle during this period.
[0175] pass Figure 6 (a) The tracking trajectories of the robot's rods and end positions can be intuitively seen (the black curve is the end trajectory, and the rest are the robot's rods). Since this set of experimental results does not consider the constraint of the obstacle in inequality (4.18c), it can be clearly seen that the robot's rods collide with the virtual obstacles.
[0176] On this basis, inequality obstacle constraints are added without changing other parameters and simulation conditions to verify the effectiveness of the motion trajectory planning and obstacle avoidance in this paper. Figure 6 (b) is the three main postures of the robot arm when tracking the trajectory during the tracking experiment of the Franka robot arm. When the robot arm is in posture 3, the joint angle of joint 2 reaches the limit value, and the trajectory is tracked by relying on the movement of other joints. This also proves the effectiveness of the joint constraints in this paper.
[0177] pass Figure 7 (a) The error curve of the actual trajectory and the expected trajectory. It can be observed that the error e quickly converges and stabilizes near 0. Then, at 12.6s, the error increases momentarily, but the tracking error is always maintained within the range of 0.005m. Figure 7 (d) The difference between the Euclidean norm of pioj and the safety distance d changes with time. Its value is close to 0, which means that the robot enters the safety distance d. Therefore, the obstacle avoidance mechanism takes effect at this moment, keeping the robot away from obstacles. Figure 7 (b) and (c) are graphs showing the change of the joint angle and speed of the robot arm over time. Figure 6 (a) Figure 8 (a) The effectiveness of the proposed algorithm in avoiding obstacles can be intuitively observed, where the black curve is the end trajectory and the rest are the trajectories of the robot arm rods. When the robot arm rods enter the safe distance range of the obstacle, they will slowly move away from the obstacle. Figure 8 (b) shows the three main postures of the Franka robot arm when it is tracking the trajectory, which are recorded during the tracking and obstacle avoidance experiment. They represent the starting posture, the posture when the robot arm enters the safe distance d, and the posture after avoiding the obstacle.
[0178] Through the above set of control experiments, the effectiveness of the RNN (recurrent neural network) in solving the QP problem for real-time motion trajectory planning of the robot arm is verified, so that the robot arm can accurately track the expected trajectory under the premise of satisfying its own physical constraints and obstacle constraints;
[0179] Fig. 9 Reflects the curve of the change of parameter σi over time, where Fig. 9 (a) The curve of the change of parameter σi over time when obstacle avoidance is not considered, where the angles of joints 6, 4 and 2 reach and maintain the upper and lower limit positions respectively, and the angles of the remaining joints remain between the upper and lower limits, proving the effectiveness of the angle constraints of this algorithm when obstacle avoidance is not considered. Fig. 9 (b) The curve of the change of parameter σi over time when considering obstacle avoidance. Similarly, the angles of joints 6, 4 and 2 reach and maintain the upper and lower limit positions respectively, and the angles of the remaining joints remain between the upper and lower limits, which proves the effectiveness of the angle constraints of this algorithm when considering obstacle avoidance.
[0180] Figure 8 Reflection parameter τ i The curve of change over time, the limit setting of each joint speed in the experiment: is [-166deg / s,166deg / s], is [-101deg / s,101deg / s], -176deg / s, -4deg / s, is [-1deg / s,215deg / s]. Figure 8 (a) Parameter τ when obstacle avoidance is not considered i The curve of change over time shows that the speeds of joints 6, 4 and 2 reach and maintain the upper and lower limit positions respectively, and the speeds of the other joints remain between the upper and lower limits, which proves the effectiveness of the algorithm in constraining joint speeds without considering obstacle avoidance. Figure 8 (b) Considering the curve of the change of parameter τi over time when avoiding obstacles, the speeds of joints 6, 4 and 2 reach and maintain the upper and lower limit positions respectively, and the speeds of the other joints are maintained between the upper and lower limits, which proves the effectiveness of the speed constraints of this algorithm when considering obstacle avoidance;
[0181] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. An intelligent packing and trajectory planning method for disordered mixed goods for a palletizing robot arm, characterized by: The following steps are involved: S1. Establish a constraint model for the packing problem. The specific expression of the constraint model for the packing problem is as follows: st R≥d g∈G Among them, n represents the total amount of goods, l i 、w i 、h i Respectively represent the length, width, and height of the i-th cargo, Indicates the total volume of the cargo loaded. represents the maximum total volume of the loaded goods, g represents the goods to be packed, G is the collection of goods in the buffer area, L, W, H represent the length, width, and height of the container respectively, and X ij , Y ij , Z ij Respectively indicate whether the i-th cargo overlaps with the j-th cargo in the X, Y, and Z directions, R represents the bottom support rate of the cargo, and d represents the contact area threshold. The expressions are as follows: Among them, x i ,y i 、z i They represent the coordinates of the lower left rear point where the i-th cargo is placed, x j ,y j 、z j They represent the coordinates of the lower left rear point where the jth cargo is placed; S2, using a greedy algorithm based on the layer-by-layer stacking strategy, and combining the height difference between the goods and the remaining space to select the placement point for each item; S3. Based on the forward kinematics analysis and Jacobian matrix of the robot arm, a QP model of trajectory tracking and obstacle avoidance of the robot arm is established, and RNN is used to solve it to complete trajectory tracking and obstacle avoidance. Among them, the model of the robot arm is established using the improved DH parameter method.
2. The method for intelligent packing and trajectory planning of disordered mixed goods for a palletizing robot arm according to claim 1 is characterized in that: The specific process of step S2 is as follows: S2.1, sort the placement point list and the initial solution; The process of sorting the placement point list is as follows: compare the Z coordinate values of the two placement points a and b, and output the smaller one; if the Z coordinate values are equal and the Y coordinate values are not equal, then output the one with the smaller Y coordinate value; if the Z coordinate values are equal and the Y coordinate values are equal and the X coordinate values are not equal, then output the one with the smaller X coordinate value; S2.2, determine whether the placement point coordinates X and Y are 0, if yes, execute step S2.3, if not, execute step S2.5; S2.
3. Select the cargo with the largest volume as the cargo to be packed; S2.4, update the placement point list, and stop, waiting for the next round of placement; S2.5, determine whether the placement point is on the X, Y boundary, if so, execute step S2.6, if not, execute step S2.12; S2.6, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.7; if it is determined not to be completed, execute step S2.8; S2.7, determine whether there is a new solution, if there is a new solution, execute step S2.
4. If there is no new solution, change the placement point and jump to step S2.2; S2.8, select different goods or positions; S2.9, determine whether the goods in step S2.8 can be placed at the placement point, if not, jump to step S2.6, if yes, execute step S2.10; S2.10, calculate the new solution by height difference; S2.
11. Determine whether to accept the new solution. If so, update the goods to be packed; S2.12, determine whether the cargo and posture traversal is completed. If it is determined to be completed, execute step S2.13; if it is determined not to be completed, execute step S2.14; S2.13, determine whether there is a new solution, if there is a new solution, change the placement point and jump to step S2.2; if there is no new solution, jump to step S2.4; S2.14, select different goods or positions; S2.15, determine whether the goods in step S2.14 can be placed at the placement point, if not, jump to step S2.13, if yes, execute step S2.16; S2.
16. Calculate a new solution using the height difference and the residual space, and jump to step S2.
11.
3. The method for intelligent packing and trajectory planning of disordered mixed goods for a palletizing robot arm according to claim 1, characterized in that: The specific expression of the QP model established in step S3 is as follows: st in, represents the joint velocity, η + and η - express and The value of , J(θ) represents the Jacobian matrix, represents the joint angle limit, represents the joint velocity limit, k and μ represent class functions.
4. The method for intelligent packing and trajectory planning of disordered mixed goods for a palletizing robot arm according to claim 1, characterized in that: The residual space includes the horizontal residual space and the vertical residual space, and the corresponding expressions are as follows: Among them, D x , D y They represent custom parameters for determining whether residual space is formed, and L and W represent the length and width of the container, respectively.
Citation Information
Patent Citations
An algorithm for intelligently generating a case loading scheme based on multiple constraint conditions
CN107622321A
Obstacle avoidance solution applied to redundant manipulator
CN107966907A
Stacking layout planning method for cargoes in carriage
CN117023179A
Three-dimensional boxing method and device, electronic equipment and storage medium
CN117252037A
Cited By
Flexible stacking system for multi-variety bent finished products
CN120864254A
Intelligent grabbing planning method for composite robot in high-mixing-degree storage environment
CN121083624A