Six-axis robot trajectory planning method in non-structural environment

By improving the multi-objective gray wolf optimization algorithm and five-order B-spline fitting, the complexity problem of six-axis robot trajectory planning in non-structural environments is solved, and the smooth continuous trajectory and kinematic constraints are achieved.

CN120197393AActive Publication Date: 2025-06-24HUAZHONG UNIV OF SCI & TECH

Patent Information

Application Number
CN202510374104.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-27
Publication Date
2025-06-24
Estimated Expiration
2045-03-27

AI Technical Summary

Technical Problem

In non-structural environments, six-axis robot trajectory planning faces complex obstacle layout, dynamic changes and uncertain path problems, and existing multi-objective optimization algorithms are difficult to effectively adapt to these challenges.

Method used

The improved multi-objective grey wolf optimization algorithm is adopted, combined with non-dominant sorting, external archiving mechanism, Bernoulli chaos mapping and polynomial variation operations, and the objective function is constructed to minimize the total motion time, average acceleration and impact of the joint, and fit and derivative through five-order B-spline curves to determine the trajectory.

Benefits of technology

Effectively balance the conflicts between time, acceleration and impact, generate a smooth and continuous trajectory, meet kinematic constraints, and improve the adaptability and accuracy of trajectory planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120197393A_ABST
    Figure CN120197393A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of industrial robots, and particularly discloses a six-axis robot trajectory planning method in a non-structural environment, which comprises the following steps: presetting starting points of an initial motion trajectory for a six-axis robot in a non-structural environment, performing interpolation between the starting points, and performing kinematics inversion solution of the six-axis robot, determining the position of a joint at each interpolation point; fitting and deriving all interpolation points by utilizing a quintic B-sample curve, and determining the speed, acceleration and impact of each joint; by taking minimization of total motion time, average acceleration and impact of joints as optimization objectives and taking acceleration and impact as constraint conditions, an objective function of trajectory planning of the six-axis robot in the non-structural environment is constructed; an improved multi-target grey wolf optimization algorithm is adopted to optimize the target function, and the position, the speed, the acceleration and the impact of the optimized six-axis robot joint are obtained; and determining the motion track of the six-axis robot based on the optimized position, speed, acceleration and impact of the joint of the six-axis robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the technical field of industrial robots. More specifically, it relates to a six-axis robot trajectory planning method in an unstructured environment. Background Technique

[0002] The unstructured environment has an irregular physical layout (such as randomly distributed obstacles), dynamic change characteristics (real-time changes in light, terrain, etc.), and incomplete information (lack of clear road signs or maps), etc., which pose significant challenges to the trajectory planning of six-axis robots.

[0003] In related technologies, multi-objective optimization algorithms have been widely used in the trajectory planning of six-axis robots, such as Genetic Algorithm (GA), Particle Swarm Optimization (PSO), and Multi-Objective Grey Wolf Optimizer (MOGWO), etc. These algorithms can balance the conflicts between multiple optimization objectives to a certain extent by simulating the evolutionary process or group behavior in nature. However, these algorithms are mainly applied in traditional structured environments and are difficult to adapt to unstructured environments. Summary of the Invention

[0004] Aiming at the above-mentioned defects existing in the prior art, this application provides a six-axis robot trajectory planning method in an unstructured environment, aiming to solve the problem of six-axis robot trajectory planning in an unstructured environment.

[0005] In the first aspect, this application provides a six-axis robot trajectory planning method in an unstructured environment, including: Preset the starting points of the initial motion trajectory for the six-axis robot in the unstructured environment, perform interpolation between the starting points, and perform inverse kinematics solution of the six-axis robot to determine the positions of the joints at each interpolation point; Use a quintic B-spline curve to fit and differentiate all interpolation points in the joint space to determine the velocity, acceleration, and jerk of each joint; Taking the minimization of the total motion time, average acceleration, and jerk of the joints as the optimization objectives, and taking acceleration and jerk as the constraint conditions, construct the objective function for six-axis robot trajectory planning in an unstructured environment; Use an improved multi-objective grey wolf optimization algorithm to optimize the objective function to obtain the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization; Determine the motion trajectory of the six-axis robot based on the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization.

[0006] Second aspect, the present application further provides a six-axis robot trajectory planning device in an unstructured environment, including: A first determination module, configured to preset a starting point of an initial motion trajectory for a six-axis robot in an unstructured environment, perform interpolation between the starting points, and perform inverse kinematic solution of the six-axis robot to determine the positions of joints at each interpolation point; A second determination module, configured to fit and differentiate all interpolation points using a fifth-order B-spline curve in joint space to determine the velocity, acceleration, and jerk of each joint; A construction module, configured to construct an objective function for six-axis robot trajectory planning in an unstructured environment with the goal of minimizing the total motion time, average acceleration, and jerk of joints, and with acceleration and jerk as constraint conditions; An acquisition module, configured to optimize the objective function using an improved multi-objective grey wolf optimization algorithm to obtain the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization; A third determination module, configured to determine the motion trajectory of the six-axis robot based on the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization.

[0007] Third aspect, the present application further provides an electronic device, including: at least one memory for storing a program; at least one processor for executing the program stored in the memory, and when the program stored in the memory is executed, the processor is configured to execute the method described in the first aspect or any one of the possible implementation manners of the first aspect.

[0008] Fourth aspect, the present application further provides a computer-readable storage medium storing a computer program, and when the computer program runs on a processor, it causes the processor to execute the method described in the first aspect or any one of the possible implementation manners of the first aspect.

[0009] Fifth aspect, the present application further provides a computer program product, and when the computer program product runs on a processor, it causes the processor to execute the method described in the first aspect or any one of the possible implementation manners of the first aspect.

[0010] The six-axis robot trajectory planning method in an unstructured environment provided by this application aims to optimize the conflicts among multiple objectives such as time, acceleration, and impact for a six-axis robot in an unstructured environment. It generates a Pareto front through non-dominated sorting to balance the contradictions between objectives, and retains a diverse solution set through an external archive mechanism to support decision-makers in selecting the optimal trajectory according to actual needs. For the complex environmental constraint problems in an unstructured environment with dynamic obstacles and path uncertainties, where the trajectory needs to be smooth and satisfy kinematic constraints, the initialization population is made to cover a wider solution space through Bernoulli chaotic mapping to enhance the exploration ability for complex paths. The trajectory is ensured to be highly continuous of high order through quintic B-spline curves to avoid mechanical vibration, and random perturbations are introduced in local search through polynomial mutation operations to adapt to the dynamic changes of the environment. And only non-dominated solutions are retained through dynamic update of the external archive to reduce computational redundancy, and real-time trajectory planning can converge quickly to meet engineering accuracy. Brief Description of the Drawings

[0011] In order to more clearly illustrate the technical solutions in this application or related technologies, the following will briefly introduce the drawings required for use in the description of the embodiments or related technologies. Obviously, the drawings in the following description are some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0012] Figure 1 is a schematic flowchart of the six-axis robot trajectory planning method in an unstructured environment provided by an embodiment of this application; Figure 2 is a schematic flowchart of the improved MOGWO algorithm provided by an embodiment of this application; Figure 3 is a frequency distribution diagram of the Bernoulli chaotic mapping provided by an embodiment of this application; Figure 4 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms under the ZDT1 test function provided by an embodiment of this application; Figure 5 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms under the ZDT2 test function provided by an embodiment of this application; Figure 6 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms under the ZDT3 test function provided by an embodiment of this application; Figure 7 is a schematic diagram of the motion curve of joint 2 before and after optimization by the improved MOGWO algorithm provided by an embodiment of this application; Figure 8It is a schematic structural diagram of a six-axis robot trajectory planning device in an unstructured environment provided by an embodiment of the present application; Figure 9 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0013] In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0014] Figure 1 It is a schematic flowchart of a six-axis robot trajectory planning method in an unstructured environment provided by an embodiment of the present application. As Figure 1 shown, the method at least includes the following steps: S101. Preset the starting points of the initial motion trajectory for the six-axis robot in the unstructured environment, perform interpolation between the starting points, and perform inverse kinematics solution of the six-axis robot to determine the positions of the joints at each interpolation point.

[0015] Specifically, for the six-axis robot in the unstructured environment, preset the starting points of the initial motion trajectory. A complete initial motion trajectory can be obtained by selecting key points for interpolation between the starting points. The preset of the starting points is often related to the actual working requirements of the six-axis robot. The purpose of the inverse kinematics solution is to determine the joint angles, that is, the joint positions, at each interpolation point, and then generate a smooth joint trajectory through an optimization algorithm.

[0016] S102. Fit and differentiate all interpolation points using a quintic B-spline curve to determine the velocity, acceleration, and jerk of each joint.

[0017] Specifically, the B-spline curve is a mathematical tool widely used in trajectory planning, with characteristics such as local controllability, geometric invariance, and affine invariance. Its core advantage is that when a local position in the trajectory changes, the overall trajectory will not undergo a subversive change. This characteristic makes the B-spline curve perform well in the dynamic environment of the six-axis robot, can significantly improve the response ability of the six-axis robot, and shorten the development cycle of the algorithm. The quintic B-spline curve consists of control points, knot vectors, and basis functions. Quintic means the order is 5. The specific process of using the quintic B-spline curve to fit all interpolation points is as follows: Use the cumulative chord length parameterization method to normalize time and generate the knot vector , where: ; where, , , , Denotes the chord length.

[0018] The expression of the quintic B-spline is: ; Where, Denotes the position of the joint at time u, Denotes the quintic B-spline basis function, Denotes the control vertex.

[0019] Substituting the knots within the domain into the above formula, we can obtain equations as follows: .

[0020] To ensure the smoothness of the trajectory, constraint conditions need to be added, including the initial velocity , the final velocity , the initial acceleration and the final acceleration , and these constraint conditions specifically satisfy: .

[0021] By differentiating the B-spline curve using the Cox-deBoor formula, the expressions for velocity, acceleration, and jerk are obtained as follows: ; .

[0022] Combining the aforementioned constraint conditions, the equation for further solving the control vertex vector can be obtained: ; Where, Denotes the control vertex vector, Denotes the vector composed of interpolation points and constraint conditions, Denotes the matrix composed of B-spline basis functions and constraint conditions. By solving this equation, the control vertex vector can be obtained, and then the quintic B-spline interpolation function can be constructed.

[0023] Substituting the obtained control vertices and the knot vector into the B-spline curve formula, the displacement interpolation function of the six-axis robot can be generated. By further differentiating, the interpolation functions for velocity, acceleration, and jerk are obtained as follows: .

[0024] Through these functions, smooth trajectory planning of the six-axis robot in Cartesian space can be achieved.

[0025] S103. With the goal of minimizing the total motion time, average acceleration, and impact of the joints, and taking acceleration and impact as constraints, construct the objective function for the trajectory planning of a six-axis robot in an unstructured environment.

[0026] Specifically, model the multi-objective optimization problem of the trajectory planning of a six-axis robot in an unstructured environment. The optimization goals include: minimizing the total motion time of the joints T minimizing the average acceleration of the joints, and minimizing the impact of the joints. The constraints include: motion acceleration constraints and impact constraints.

[0027] Optionally, the expression of the objective function is as follows: ; ; ; Among them, , and respectively represent the total motion time, average acceleration, and impact of the joints. represents the total motion time. represents the number of interpolation points. represents the time of the joint at the th interpolation point. represents the acceleration of the joint at the th interpolation point. represents the impact of the joint at the th interpolation point. and respectively represent the acceleration constraint penalty term and the impact constraint penalty term. and respectively represent the acceleration dynamic penalty factor and the impact dynamic penalty factor. and respectively represent the acceleration limit and the impact limit.

[0028] Optionally, the acceleration limit and the impact limit satisfy: ; ; Among them, and respectively represent the preset maximum acceleration of the joint and the maximum impact of the joint.

[0029] The penalty factor is to make the penalty term not overly restrict the search at the initial stage of the search and more strictly constrain the feasibility at the later stage of the search. Optionally, the acceleration dynamic penalty factor and the impact dynamic penalty factor Satisfy: ; ; Wherein, and respectively represent the initial acceleration penalty factor and the initial shock penalty factor; and respectively represent the acceleration constraint regulation factor and the shock constraint regulation factor, which control the growth rate of the penalty factor. As the number of iterations increases, the value of the penalty factor will gradually increase, so that the algorithm is more inclined to find solutions that satisfy all constraints in the later stage; and respectively represent the current iteration number and the maximum iteration number.

[0030] S104. Optimize the objective function by using the improved multi-objective grey wolf optimization algorithm to obtain the position, speed, acceleration and shock of the six-axis robot joint after optimization.

[0031] S105. Determine the motion trajectory of the six-axis robot based on the position, speed, acceleration and shock of the six-axis robot joint after optimization.

[0032] Specifically, the multi-objective grey wolf optimization algorithm has received extensive attention in the research of six-axis robot trajectory planning due to its advantages such as simple implementation and strong global search ability. However, the traditional multi-objective grey wolf optimization algorithm has defects such as being prone to falling into local optima and insufficient global search ability in solving multi-objective optimization problems, which limits its actual application effect. In addition, the trajectory planning of a six-axis robot in an unstructured environment also needs to consider kinematic constraints, such as speed, acceleration and shock limitations, to ensure the motion smoothness and safety of the six-axis robot.

[0033] Therefore, in the embodiments of the present application, the traditional multi-objective grey wolf optimization algorithm is improved by introducing a non-dominated sorting mechanism, an external archive mechanism, a Bernoulli chaotic mapping and a polynomial mutation operation, etc., to enhance the global search ability and local search ability of the algorithm, effectively balance the conflict between time and shock, and generate a smooth and continuous trajectory that satisfies the actual motion constraints.

[0034] Figure 2 is a schematic flow chart of the improved multi-objective grey wolf optimization algorithm provided by the embodiments of the present application. As Figure 2 shown, the improved multi-objective grey wolf optimization algorithm in the embodiments of the present application at least includes the following steps: S1. Initialize the grey wolf population parameters, including the population size, the maximum iteration number, the external archive size, and use the Bernoulli chaotic mapping to generate the positions of the initial population.

[0035] Specifically, the positions of the joints at each interpolation point determined in S101 are used as the individuals in the initial population.

[0036] During the initialization process, the Bernoulli chaotic map is introduced to improve the distribution property of the initial population during the initialization of the traditional MOGWO algorithm, making the distribution of the initialized population more uniform, thereby enhancing the algorithm's exploration ability for complex paths and improving the algorithm's global search ability.

[0037] Optionally, using the Bernoulli chaotic map to generate the positions of the initial population in S1 specifically includes: Using the Bernoulli chaotic map to generate a chaotic sequence in the D-dimensional space, and mapping the chaotic sequence to the search space to generate the positions of the initial population.

[0038] The chaotic sequence satisfies: ; where and respectively represent the a th and the (a + 1)th chaotic variables, represents the adjustment factor, usually taking the value of 0.4.

[0039] Mapping the chaotic sequence to the search space to generate the positions of the initial population, satisfying: ; where represents the dimensional position of the th individual, and respectively represent the upper and lower limits of the search space, is the obtained chaotic variable.

[0040] Figure 3 is the frequency distribution diagram of the Bernoulli chaotic map provided by the embodiment of the present application. As Figure 3 shown, the Bernoulli chaotic map can effectively avoid the problem of uneven population distribution in the initialization stage, thereby enhancing the global search ability of the improved MOGWO algorithm.

[0041] S2. Perform non-dominated sorting on the individuals in the population, update the external archive, and determine the positions of the Alpha wolf, Beta wolf, and Delta wolf.

[0042] Specifically, the gray wolf population can be divided into Alpha wolves, Beta wolves, Delta wolves, and other gray wolves, corresponding to the optimal solution, the sub-optimal solution, the third-optimal solution, and other candidate solutions, respectively. In each iteration process, it is necessary to perform non-dominated sorting on the objective function values of the individuals in the population to determine the Pareto solution (also known as the non-dominated solution) level of each individual, and then determine the positions of Alpha wolves, Beta wolves, and Delta wolves. By generating the non-dominated front through the non-dominated sorting mechanism, the contradiction between multiple optimization objectives can be effectively balanced, such as the contradiction between shortening the movement time and reducing the impact.

[0043] In a multi-objective optimization problem, for a minimization problem containing n objective functions, the objective vector is expressed as . For any two decision variables in the solution space S, if for all objective functions (where k = 1, 2,..., n), there is , and there is at least one objective function such that , then it is said that dominates , denoted as: .

[0044] The Pareto optimal set P is defined as the set of all non-dominated solutions in the solution space S. In other words, if a solution is not dominated by any other solution in the solution space S, then is called a Pareto optimal solution, and the set P composed of all such solutions is the Pareto optimal set.

[0045] Optionally, the non-dominated sorting is specifically implemented through the following steps: Record the domination count of each individual e being dominated by other individuals and the domination set dominated by each individual e; Traverse the population and screen out all individuals with a domination count of 0 ( ) to form the first-layer non-dominated front ; Traverse the domination set corresponding to each individual e in the first-layer non-dominated front , and subtract 1 from the domination count of each individual e: If the updated domination count is 0, then add the corresponding individual e' to the second-layer non-dominated front ; Repeat the above process of updating the domination count until all individuals are assigned to the non-dominated front.

[0046] Furthermore, an external archive mechanism is introduced. Only non-dominated solutions are saved in each iteration, which can effectively reduce computational redundancy; at the same time, a diverse solution set is retained, enabling the selection of the optimal trajectory according to actual needs. The external archive is updated each time the non-dominated sorting of the population is completed.

[0047] Optionally, the external archive is updated through the following steps: Save the non-dominated solutions generated in each iteration, and continuously compare the newly generated solutions with the solutions in the archive; If the newly generated feasible solution after iteration is not dominated by all the solutions in the external archive, then add the newly generated feasible solution to the external archive; that is, if , then ; If there is a target solution in the external archive that is dominated by the newly generated feasible solution , then replace the target solution with the newly generated feasible solution ; that is, if , then ; If the newly generated feasible solution and all the solutions in the external archive do not dominate each other, then add the newly generated feasible solution to the external archive; that is, if , and , then .

[0048] Optionally, the size N of the external archive MAX is preset. Therefore, it is necessary to judge whether it exceeds the preset size N of the external archive after each update MAX , and then perform pruning according to the crowding distance.

[0049] S3. Update the positions of other grey wolves according to the positions of the Alpha wolf, Beta wolf, and Delta wolf.

[0050] Specifically, in each iteration, the positions of other grey wolves are updated according to the positions of the three optimal wolves. Optionally, updating the positions of other grey wolves specifically satisfies: Update the distances of other grey wolves according to the distances from the Alpha wolf, Beta wolf, and Delta wolf, satisfying: ; where and respectively represent the iThe current position and updated position of a gray wolf represents a control parameter denotes the i distance between the

[0051] S4. Perform polynomial mutation operation on the population to generate new non-dominated solutions and update the external archive

[0052] Specifically, the purpose of the polynomial mutation operation is to enhance the local search ability of the improved MOGWO algorithm and avoid the algorithm falling into local optima during the solution process of multi-objective optimization problems. The polynomial mutation operation applies perturbations to the individuals in the population to maintain a high diversity in local search, so as to improve the ability of the algorithm to jump out of local optimal solutions

[0053] Optionally, when performing polynomial mutation operation on the population, it satisfies: ; wherein represents the current position of an individual represents the position of the individual after mutation and respectively represent the upper and lower bounds of the search space represents the mutation amplitude represents the mutation scaling dynamic decay factor

[0054] To make the mutation operation more exploratory in the initial stage of search and more focused on fine search in the later stage of search, the mutation scaling dynamic decay factor is set to decrease with the number of iterations to gradually reduce the mutation step size. Specifically, the mutation scaling dynamic decay factor satisfies: ; wherein represents the initial mutation scaling decay factor (a positive real number represents the regulation factor used to adjust the decay rate represents the current iteration number represents the maximum iteration number

[0055] Optionally, when performing polynomial mutation operation on the population, it specifically includes: Determine whether to perform polynomial mutation operation on the individuals in the population based on the mutation probability

[0056] The mutation probability specifically satisfies: ; wherein represents the mutation probability represents the initial mutation probability represents an intermediate parameter represents the current iteration number, represents the maximum number of iterations.

[0057] S5. Determine whether the maximum number of iterations is reached. If not, return to S2.

[0058] S6. Output the Pareto optimal solution set in the external archive.

[0059] In the improved MOGWO algorithm of the embodiment of the present application, the Pareto optimal solution set is screened by non-dominated sorting, the population diversity is enhanced by using the Bernoulli chaotic map, the local search ability is improved by combining polynomial mutation, and the convergence and distribution of the solutions are ensured by the external archive mechanism. It can effectively solve the Pareto optimal solution set in the multi-objective optimization problem of the six-axis robot trajectory planning in an unstructured environment, and ensure the diversity and convergence of the solutions.

[0060] Furthermore, the performance of the improved MOGWO algorithm provided by the embodiment of the present application is verified, mainly from three aspects: the convergence, uniformity, and extensiveness of the solution set. A good multi-objective optimization algorithm should be able to generate a solution set with uniform distribution, approaching the true Pareto front and covering a wide range.

[0061] In a test experiment, taking the UR10 robot as the research object, in order to comprehensively evaluate the performance of the improved MOGWO algorithm in multi-objective optimization problems, the Inverted Generational Distance (IGD) is used as the performance index. This performance index is used to measure the approximation degree between the solution set obtained by the algorithm and the true Pareto front, and its calculation formula is: ; where p represents the optimal solution set obtained by the algorithm, p* is the true Pareto front, |p*| is the number of solution sets of the true Pareto front, and min dis(x,p) is the minimum Euclidean distance between the solution set p and the true Pareto front. The smaller the IGD value, the better the convergence of the solution set.

[0062] The test functions are selected from the ZDT series (ZDT1, ZDT2, ZDT3) and the DTLZ series (DTLZ2, DTLZ5). These functions cover convex, concave, continuous, and discontinuous problems, and can comprehensively evaluate the performance of the multi-objective optimization algorithm.

[0063] The parameter settings specifically include: the population size is 200, the maximum number of iterations is 300, the adjustment factor of the chaotic map is 0.4, and the initial mutation probability It is 0.4. In addition, two comparison algorithms were also selected in the test, namely the Non-dominated Sorting Genetic Algorithm II (NSGA-II) (the crossover probability was set to 0.9, and the mutation probability was set to 1 / n) and the traditional MOGWO algorithm (the maximum chaos mapping parameter was set to 1.5). The external archive size of all algorithms was set to 200 to ensure the consistency of the experimental results. The experiment was carried out under the Windows 10 operating system, with the hardware configuration being an eight-core Intel Core i5-9300H @ 2.40GHz processor, and the software environment being MatlabR2024a.

[0064] Table 1 shows the mean and standard deviation of IGD of the improved MOGWO, NSGA-II, and traditional MOGWO on 5 test functions (with 15 independent runs).

[0065] Table 1

[0066] The results show that the mean and standard deviation of IGD of the improved MOGWO on ZDT1, ZDT3, and DTLZ2 are significantly smaller than those of NSGA-II and the traditional MOGWO algorithm. The results on ZDT2 and DTLZ5 are of the same order of magnitude as those of the other two algorithms. The results indicate that the improved MOGWO algorithm has a significant improvement in convergence and stability.

[0067] Figure 4 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms provided by the embodiments of the present application under the ZDT1 test function. Figure 5 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms provided by the embodiments of the present application under the ZDT2 test function. Figure 6 is a schematic diagram of the result comparison of the improved MOGWO, NSGA-II, and traditional MOGWO algorithms provided by the embodiments of the present application under the ZDT3 test function. Figures 4 to 6 Compares the Pareto front distributions of the three algorithms on ZDT1 and DTLZ2.

[0068] The results show that the solution set (red) of the improved MOGWO approximates the true Pareto front (black dashed line) more closely, and can still maintain a uniform distribution in the convex continuous region of DTLZ2, while there are local aggregation phenomena in NSGA-II and the traditional MOGWO.

[0069] To further verify the practicality of the improved MOGWO algorithm in complex engineering problems, the UR10 six-axis robot was taken as the research object, a motion path was preset, interpolation points were inserted between the starting points of the path to modify the motion path, and the interpolation points of the positions of each joint passed through are shown in Table 2, and the time-acceleration-shock multi-objective trajectory optimization simulation was carried out accordingly.

[0070] Table 2

[0071] Based on the quintic B-spline curve, the joint trajectory of the six-axis robot was constructed, and the optimization objectives were to minimize the total motion time, average acceleration and shock of the joints. The objective function was defined as: ; ; ; where , and represent the total motion time, average acceleration and shock of the joint respectively, represents the total motion time, represents the number of interpolation points, represents the time of the joint at the th interpolation point, represents the acceleration of the joint at the th interpolation point, represents the shock of the joint at the th interpolation point, and represent the acceleration constraint penalty term and the shock constraint penalty term respectively, and represent the acceleration dynamic penalty factor and the shock dynamic penalty factor respectively, and represent the acceleration limit and the shock limit respectively.

[0072] Furthermore, the acceleration limit, shock limit, acceleration dynamic penalty factor and shock dynamic penalty factor satisfy: ; ; ; ; where and represent the preset maximum joint acceleration and maximum joint shock respectively, and represent the initial acceleration penalty factor and the initial shock penalty factor respectively, and respectively represent the acceleration constraint regulation factor and the impact constraint regulation factor, and respectively represent the current iteration number and the maximum iteration number.

[0073] Due to the convex hull property of B-spline, the trajectory kinematic constraints are converted into the constraints of B-spline control vertices: ; wherein, 、 、 respectively represent the B-spline velocity, acceleration and impact of the i-th control vertex of the joint. The kinematic constraints of this embodiment are shown in Table 3.

[0074] Table 3

[0075] Figure 7 is a schematic diagram of the motion curve of Joint 2 before and after optimization by the improved MOGWO algorithm provided in the embodiment of the present application. As Figure 7 shown, Matlab 2024a is used for motion simulation data analysis. Taking Joint 2 as an example, the position (P)-time, velocity (v)-time, acceleration (a)-time and impact (j)-time change curves of Joint 2 during the motion of the six-axis robot before and after optimization are obtained.

[0076] From Figure 7 it can be seen that the UR10 six-axis robot completed the entire motion process (19.4 s) in a shorter time, which is 18.0% higher than before optimization (23.6 s). The maximum joint acceleration (18.57° / s2) is 24.1% lower than before optimization (24.48° / s2), and the maximum joint impact (16.6° / s3) is 6.2% lower than before optimization (17.7° / s3). It can be seen that the improved MOGWO algorithm can significantly improve the production work efficiency and reduce energy consumption and joint impact during the trajectory optimization process.

[0077] In summary, the present application provides a trajectory planning method for a six-axis robot in an unstructured environment. In view of the actual requirements of the six-axis robot for the complexity, intelligence, and compliance of contact operation tasks in an unstructured environment, an improved MOGWO algorithm that combines non-dominated sorting, external archive mechanism, Bernoulli chaotic mapping, and polynomial mutation operation is proposed. It is superior to the NSGA-II and traditional MOGWO algorithms in terms of the convergence, distribution, and stability of the solution set. Taking the UR10 six-axis robot as the research object, a multi-objective trajectory optimization model based on the quintic B-spline curve is constructed, and the optimization objectives are the shortest time, minimum acceleration, and minimum jerk. The simulation results show that the improved MOGWO algorithm can effectively balance the conflicts among time, acceleration, and jerk, generate a smooth and continuous trajectory, and meet the actual motion constraints. This research provides a theoretical basis and engineering application value for the high-efficiency, low-energy consumption, and low-impact trajectory planning of six-axis robots in an unstructured environment.

[0078] The following describes the six-axis robot trajectory planning device provided by the present application in an unstructured environment. The six-axis robot trajectory planning device described below in an unstructured environment can be mutually corresponded and referred to the six-axis robot trajectory planning method described above.

[0079] Figure 8 is a schematic structural diagram of the six-axis robot trajectory planning device provided by an embodiment of the present application. As Figure 8 shown, the device at least includes: The first determination module 801 is configured to preset the starting points of the initial motion trajectory for the six-axis robot in an unstructured environment, perform interpolation between the starting points, and perform inverse kinematics solution of the six-axis robot to determine the positions of the joints at each interpolation point; The second determination module 802 is configured to fit and differentiate all interpolation points by using the quintic B-spline curve to determine the velocities, accelerations, and jerks of each joint; The construction module 803 is configured to construct an objective function for the six-axis robot trajectory planning in an unstructured environment with the goal of minimizing the total motion time, average acceleration, and jerk of the joints, and taking acceleration and jerk as constraints; The acquisition module 804 is configured to optimize the objective function by using an improved multi-objective grey wolf optimization algorithm to obtain the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization; The third determination module 805 is configured to determine the motion trajectory of the six-axis robot based on the positions, velocities, accelerations, and jerks of the joints of the six-axis robot after optimization.

[0080] It can be understood that the detailed function implementations of the above-mentioned various units / modules can be referred to the descriptions in the foregoing method embodiments, and will not be elaborated herein.

[0081] It should be understood that the above device is used to execute the method in the above embodiment. For the corresponding program modules in the device, their implementation principles and technical effects are similar to those described in the above method. The working process of the device can refer to the corresponding process in the above method, which will not be elaborated here.

[0082] Based on the method in the above embodiment, an embodiment of the present application provides an electronic device. The device may include: at least one memory for storing a program and at least one processor for executing the program stored in the memory. Wherein, when the program stored in the memory is executed, the processor is used to execute the method described in the above embodiment.

[0083] Figure 9 is a schematic structural diagram of the electronic device provided by the embodiment of the present application. As Figure 9 shown, the electronic device may include: a processor (Processor) 901, a communication interface (Communications Interface) 902, a memory (Memory) 903, and a communication bus 904. Among them, the processor 901, the communication interface 902, and the memory 903 complete mutual communication through the communication bus 904. The processor 901 may call software instructions in the memory 903 to execute the method described in the above embodiment.

[0084] In addition, when the logical instructions in the above memory 903 are implemented in the form of software functional units and sold or used as independent products, they may be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application.

[0085] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program runs on the processor, the processor is caused to execute the method in the above embodiment.

[0086] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on the processor, the processor is caused to execute the method in the above embodiment.

[0087] It can be understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0088] The method steps in the embodiments of the present application may be implemented in a hardware manner or by a processor executing software instructions. The software instructions may be composed of corresponding software modules, and the software modules may be stored in a random access memory (RAM), flash memory, read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, hard disks, removable hard disks, CD-ROMs, or any other form of storage medium well-known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium may also be a component of the processor. The processor and the storage medium may be located in an ASIC.

[0089] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0090] It can be understood that the various numerical numbers involved in the embodiments of the present application are only for the convenience of description and are not used to limit the scope of the embodiments of the present application.

[0091] Those skilled in the art can easily understand that the above are only the preferred embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A six-axis robot trajectory planning method in an unstructured environment, characterized in that: include: Presetting the starting point of the initial motion trajectory for the six-axis robot in the unstructured environment, interpolating between the starting points and performing an inverse kinematic solution of the six-axis robot to determine the position of the joint at each interpolation point; The quintic B-sample curve is used to fit and derive all interpolation points to determine the velocity, acceleration and impact of each joint; Taking minimizing the total motion time, average acceleration and impact of the joints as the optimization goal, and taking acceleration and impact as constraints, the objective function of trajectory planning of the six-axis robot in an unstructured environment is constructed; The objective function is optimized by using an improved multi-objective grey wolf optimization algorithm to obtain the position, velocity, acceleration and impact of the joints of the six-axis robot after optimization; The motion trajectory of the six-axis robot is determined based on the optimized positions, velocities, accelerations and impacts of the six-axis robot joints.

2. The six-axis robot trajectory planning method according to claim 1, characterized in that: The objective function satisfies: ; ; ; in, , and Represent the total motion time, average acceleration and impact of the joint, Indicates the total exercise time, represents the number of interpolation points, Indicates that the joint is The time of the interpolation point, Indicates that the joint is The acceleration of the interpolation point, Indicates that the joint is The impact of interpolation points, and denote the acceleration constraint penalty term and the impact constraint penalty term respectively, and They represent the acceleration dynamic penalty factor and the impact dynamic penalty factor respectively. and They represent acceleration limit and shock limit respectively.

3. The six-axis robot trajectory planning method according to claim 2, characterized in that: The acceleration limit, the impact limit, the acceleration dynamic penalty factor, and the impact dynamic penalty factor respectively satisfy: ; ; ; ; in, and They represent the preset maximum joint acceleration and maximum joint impact respectively. and They represent the initial acceleration penalty factor and the initial impact penalty factor respectively. and They represent the acceleration constraint control factor and the impact constraint control factor respectively, and Represent the current number of iterations and the maximum number of iterations respectively.

4. The six-axis robot trajectory planning method according to claim 1, characterized in that: The objective function is optimized by using an improved multi-objective grey wolf optimization algorithm, including: S1, initialize the gray wolf population parameters, including population size, maximum number of iterations, external archive size, and use Bernoulli chaotic mapping to generate the position of the initial population; S2, perform non-dominated sorting on the individuals in the population, update the external archive and determine the positions of the Alpha wolf, Beta wolf and Delta wolf; S3, updating the positions of other gray wolves according to the positions of Alpha wolf, Beta wolf and Delta wolf; S4, perform polynomial mutation operation on the population, generate new non-dominated solutions, and update the external archive; S5, determine whether the maximum number of iterations has been reached, if not, return to S2; S6. Output the Pareto optimal solution set in the external archive.

5. The six-axis robot trajectory planning method according to claim 4, characterized in that: In S4, a polynomial mutation operation is performed on the population to satisfy: ; in, represents the current location of the individual, represents the position of the individual after mutation, and represent the upper and lower limits of the search space respectively, Indicates the variation range, represents a variation scaling dynamic attenuation factor; the variation scaling dynamic attenuation factor satisfies: ; in, represents the initial variation scaling attenuation factor, represents the control factor used to adjust the decay rate, Indicates the current iteration number, Indicates the maximum number of iterations.

6. The six-axis robot trajectory planning method according to claim 4 or 5, characterized in that: The polynomial mutation operation is performed on the population in S4, including: Determine whether to perform a polynomial mutation operation on individuals in the population based on the mutation probability, where the mutation probability satisfies: ; in, represents the probability of mutation, represents the initial mutation probability, represents the intermediate parameter, Indicates the current iteration number, Indicates the maximum number of iterations.

7. The six-axis robot trajectory planning method according to claim 4, characterized in that: In S1, the Bernoulli chaotic map is used to generate the position of the initial population, including: Use Bernoulli chaotic mapping to generate chaotic sequences in D-dimensional space, satisfying: ; in, and Respectively represent a and a +1 Chaos Variable, represents the regulating factor; Map the chaotic sequence to the search space and generate the position of the initial population to satisfy: ; in, Indicates Only individual Dimensional location, and represent the upper and lower limits of the search space respectively, is the chaotic variable to be found.

8. The six-axis robot trajectory planning method according to claim 4, characterized in that: The S3 includes: Update the distances of other gray wolves based on the distances to Alpha, Beta, and Delta to satisfy: ; in, and Respectively represent i The current and updated locations of the gray wolves, represents the control parameter, Indicates i The distance between the gray wolf and the Alpha wolf, Beta wolf and Delta wolf.

9. The six-axis robot trajectory planning method according to claim 4, characterized in that: The non-dominated sorting is achieved by the following steps: Record the domination count of each individual dominated by other individuals and the domination set dominated by each individual; Traverse the population and select all individuals with dominance counts of 0 to form the first layer of non-dominated frontier; Traverse the dominated set corresponding to each individual in the first layer of non-dominated frontier, and reduce the dominance count of each individual by 1; If the updated dominance count is 0, the corresponding individual is added to the second layer non-dominated frontier; The updating process of domination count is repeated until all individuals are classified into the non-dominated frontier.

10. The six-axis robot trajectory planning method according to claim 4, characterized in that: The external archive is updated by following these steps: Save the non-dominated solutions generated in each iteration and continuously compare the newly generated solutions with the archived solutions; If the new feasible solution generated after the iteration is not dominated by all the solutions in the external archive, then the new feasible solution is added to the external archive; If there is a target solution dominated by the new feasible solution in the external archive, the target solution is replaced by the new feasible solution; If the new feasible solution and all solutions in the external archive do not dominate each other, the new feasible solution is added to the external archive.

Citation Information

Patent Citations

  • Robot path planning method and system based on improved grey wolf optimization algorithm

    CN118758320A

  • Joint trajectory optimization method and device for collaborative robot

    CN118990501A

Cited By

  • Parallel robot trajectory optimization method based on improved dream optimization algorithm

    CN120909216A

  • Six-axis mechanical arm trajectory planning method and system

    CN122165444A

  • Six-axis robot trajectory planning method and system

    CN122165444B