A dual-arm motion sequence planning method for on-orbit multi-module replacement task
By mathematical modeling and constraint construction of the on-orbit multi-module replacement task, and combining dynamic programming and depth-first search algorithms, the task allocation and scheduling of the two arms are optimized using a hybrid NSGA-II and MOPSO algorithm. This solves the problem of conflict between the two arms in the on-orbit multi-module replacement task and achieves efficient action sequence planning and task execution.
Patent Information
- Application Number
- CN202510040128.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-10
- Publication Date
- 2026-01-09
- Estimated Expiration
- 2045-01-10
AI Technical Summary
Existing technologies struggle to efficiently plan the sequence of actions for both arms during on-orbit multi-module replacement missions, especially in improving mission efficiency and ensuring the continuous and healthy operation of the dual-arm system while avoiding conflicts between the two arms.
Through mathematical modeling and constraint construction, task decomposition is performed by combining dynamic programming and depth-first search algorithms. The dual-arm task allocation and scheduling is optimized using a hybrid NSGA-II and MOPSO algorithm. A dual-arm task allocation and scheduling model with multiple optimization objectives is constructed. The action sequence solution set is evaluated using the superior-inferior solution distance method to obtain the optimal solution.
It improved the planning efficiency of on-orbit multi-module replacement missions, reduced the failure rate of the dual-arm system, and enhanced the reliability and efficiency of mission execution.
Smart Images

Figure CN119871394B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a dual-arm action sequence planning method for an on-orbit multi-module replacement task and belongs to the technical field of mechanical arm planning.
BACKGROUND
[0002] With the rapid development of space science and technology, the structure of a spacecraft system is becoming increasingly complex. Under this situation, how to ensure that the spacecraft system can operate more stably and persistently in a complex space environment has become an important problem to be solved in the field of space technology. The emergence of on-orbit maintenance technology provides a new mode for the logistics maintenance of the spacecraft system. In combination with space robot technology, on-orbit maintenance can provide daily maintenance and fault repair services for the spacecraft. Module replacement is an important task of on-orbit maintenance, which is to replace the module unit through a robot. At present, ETS-VII, ROTEX and Ranger have all realized module replacement operation verification, and the robot BAT has also participated in the completion of part of the maintenance tasks of the Hubble Space Telescope. Through module replacement, the fault repair or function upgrade of the spacecraft can be realized, the fault risk of the spacecraft can be reduced to the maximum extent, the service life can be prolonged, and the performance can be fully utilized.
[0003] However, the spacecraft usually carries a large number of modules with different functions, and when on-orbit maintenance is performed, multiple types of modules need to be replaced. The module replacement process involves the disassembly, transfer and installation of the module, and the end of the mechanical arm is required to be equipped with a specific tool needed for the operation of the module, which leads to a long on-orbit multi-module replacement task flow sequence, a large number of operation objects and complex constraints between task steps. At the same time, in order to improve the efficiency of the space robot in executing tasks, multiple high-degree-of-freedom mechanical arms are often carried on the surface of the spacecraft. The motion of the mechanical arms is complex, the resources are limited, the mechanical arms are constrained by the surface environment of the spacecraft, and there is a coincident workspace between the multiple mechanical arms, which is easy to collide with each other, damage the mechanical arms and the modules and affect the task execution.
[0004] The existing methods can be divided into search type methods, optimization type methods, rule type methods, learning type methods, etc. The search type method generates a planning path through state space search or random sampling. However, in a high-dimensional task space, the computational complexity increases exponentially, especially in a dual-arm task, resulting in low planning efficiency. The optimization type method optimizes the action sequence by simulating biological evolution. The convergence speed is slow, a large number of iterations are needed to find a feasible solution, the initial condition dependence is strong, and it is easy to fall into local optimum. The rule type method generates action planning through predefined rules or constraints. It is suitable for processing structured tasks. However, when the task complexity increases, the number and design difficulty of rules increase exponentially. The support for dual-arm tasks is limited, and it is difficult to handle multi-constraint and conflict problems. The learning type method learns the optimal strategy through interaction with the environment. It is suitable for complex tasks and dynamic environments. However, there are problems of high training cost and poor model interpretability.
[0005] Therefore, it is necessary to study a dual-arm action sequence planning method for on-orbit multi-module replacement tasks to improve the efficiency of the dual-arm in executing the on-orbit multi-module replacement tasks while avoiding dual-arm conflicts and ensuring the continuous and healthy operation of the dual-arm system. SUMMARY
[0006] Therefore, the embodiment of the present application provides a dual-arm action sequence planning method for on-orbit multi-module replacement tasks to realize autonomous execution of on-orbit multi-module replacement tasks by a space dual-arm system.
[0007] The embodiment of the present application provides a dual-arm action sequence planning method for on-orbit multi-module replacement tasks, comprising:
[0008] Step S1: mathematically modeling the on-orbit multi-module replacement task, representing a plurality of key operation points of each module replacement task as task points; and mathematically modeling and constraint constructing the dual-arm system;
[0009] Step S2: task decomposition of the on-orbit multi-module replacement task; according to the constraints of the single-module replacement task, the task points are connected in series through a dynamic programming algorithm and a depth-first search algorithm to search for a task decomposition scheme for dividing the large-scale module replacement task into multiple batches of small-scale module replacement tasks;
[0010] Step S3: considering multiple optimization objectives and constraint conditions, constructing a dual-arm task allocation and scheduling model of the multi-module replacement task, and solving based on an intelligent optimization algorithm to obtain a dual-arm action sequence solution set;
[0011] Step S4: evaluating the dual-arm action sequence solution set by using a non-dominated solution distance method, sorting the dual-arm action sequence solution set, and obtaining an ideal dual-arm action sequence planning optimal solution.
[0012] In the above method, the step S1 comprises:
[0013] Step S1.1 simplifies the multi-module replacement task into a task point set P consisting of task points, and mathematically represents P as: P = {p1, p2, …, pn}, i = 1, 2, …, n. Wherein p i ,…,p n} is a tuple mathematically representing the i-th task point attribute: i
[0014] p i = (pose i ,priority i ,request i ,duration i )
[0015] Wherein pose i represents the end pose requirement of the i-th task point of the task point set on the robot arm, pose i = (x i ,y i ,z i ,rz i ,ry i ,rx i ), x i ,y i ,z i is the three-dimensional position in Cartesian space, rz i ,ry i ,rx i is a three-dimensional pose described by Euler angles; priority i represents the priority of the task point; request i represents the pre-condition constraint of the task point action on the environment and the robot arm, request i = (req_arm, req_node), req_arm represents the required end state of the robot arm for the task point action, req_node represents the requirement for the related task point; duration i represents the duration of the robot arm executing the grasping module or releasing module operation at the task point.
[0016] Step S1.2 mathematically represents the robot arm information set as R = {r1, r2} for the physical attributes and real-time state of each robot arm in the dual-arm system, wherein r1, r2 are tuples of the first robot arm and the second robot arm information, respectively:
[0017]
[0018] Wherein, pbase represents the base pose of the robot arm, described by a position vector and Euler angles, Pbase=(x, y, z, rz, ry, rx); connections contains the connection relationship of each joint of the robot arm; config represents the real-time configuration of the robot arm, containing the rotation angle of each joint; status represents the working state of the robot arm, when the end effector is empty, the value is 0, at this time the tool or module can be captured; when the end effector captures the tool or module, the value is the serial number of the tool or module; constraints represent the physical performance constraints of the robot arm, including the upper and lower limits of the joint angle, the joint speed limit, the joint acceleration limit;
[0019] In the above method, the step S2 comprises:
[0020] Step S2.1 initializes the state and priority of the task point, divides the multi-module replacement tasks according to the task priority from high to low, and defines a plurality of sub-problems;
[0021] Step S2.2 decomposes each sub-problem by using a dynamic programming method, defines a DP state for storing a local module replacement task set {π}; for each module replacement task in the sub-problem, a depth-first search algorithm is used to reversely find a task point sequence π i that completes the module replacement;
[0022] Step S2.3 merges the constraint requirements and the final state of each task point in π i with the constraint set and the state set; if the constraint requirements of π i conflict with the final state of any task point sequence in the set {π}, then exchange π i and π j ; if the constraint requirements of π i do not conflict with the set {π}, then add π i to the set {π}; if the final state of π i conflicts with the constraint requirements of any task point sequence in the set {π}, then add π i to the alternative set;
[0023] Step S2.4 updates the local module replacement task set {π} and the DP state to be empty when all module replacement task sequences of the sub-problem are completed, iteratively executes step S2.3 on the alternative set until the alternative set is empty; at this time, the decomposition of one sub-problem is completed;
[0024] Step S2.5 iteratively executes steps S2.2 to S2.4 until all sub-problems are decomposed.
[0025] In the above method, the step S3 comprises:
[0026] Step S3.1 defines the dual-arm task assignment and scheduling problem for multi-module replacement task as follows: each robot arm can only operate one module at the same time, and the transfer operation of each module is completed by a single robot arm, while there is a priority order constraint between multiple modules;
[0027] Step S3.2 constructs a dual-arm task assignment and scheduling model considering multiple objectives, sets optimization objectives, and establishes constraint conditions;
[0028] Step S3.2.1 defines the motion performance of the robot arm at each task point, the total task time, and the load balancing ratio as three optimization objectives;
[0029] (1) Motion performance
[0030] The smooth execution of module disassembly and installation actions depends on the motion performance of the robot arm at the task point; since the robot arm controls the motion state of the robot arm end by controlling the joint rotation angle, the Jacobian matrix J can be used to describe the mapping relationship between the joint angular velocity vector and the end motion velocity vector :
[0031]
[0032] The condition number of the Jacobian matrix can be used as a quantitative indicator of the dexterity of the robot arm to evaluate the motion ability of the end to reach the specified pose in any direction, and is defined as follows:
[0033] K J =||J||·||J -1 ||,
[0034] In the formula, K J is the condition number of the Jacobian matrix, ||J|| is the eigenvalue of the Jacobian matrix, and λ max is the maximum eigenvalue of the Jacobian matrix;
[0035] The motion performance function is defined as the average of the condition numbers of the Jacobian matrices corresponding to the robot arms passing through the task points:
[0036]
[0037] (2) Total task time
[0038] The task time not only includes the transfer time of the robot arm between task points, but also considers the operation time of the robot arm; to simplify the solution process of the task time, the distance between the task points is divided by the maximum speed of the robot arm end to estimate the transfer time, and the transfer process time is defined as:
[0039]
[0040] where ||p i -p j ||2is the Euclidean distance between adjacent task points, v limit is the maximum speed of the robot end-effector;
[0041] The robot working time at a task point mainly depends on the task complexity at the point and the efficiency of the robot end-effector, and the robot working time at each task point is approximated as t work The robot working time at a task point mainly depends on the task complexity at the point and the efficiency of the robot end-effector, and the robot working time at each task point is approximated as t
[0042] In summary, the robot task time is the sum of the transfer time and the working time, and the total task time of the dual-arm system depends on the task time of the robot with the longest task time;
[0043]
[0044] (3) Load balancing ratio
[0045] Since the robot is in a small range of visual servo or follow-up working mode at the task point, the motion distance during the transfer process can be ignored, so the ratio of the maximum value and the minimum value of the dual-arm transfer time is used as the load balancing ratio:
[0046]
[0047] The closer the load balancing ratio is to 1, the more balanced the task distribution between the robots is, and the work load of each robot is almost the same, reducing the potential problems caused by excessive tasks of a single robot;
[0048] Step S3.2.2 approximates the robot motion envelope space through the area surrounded by connecting adjacent task points and the connecting lines from the robot to the two working points, and the constraints for the dual-arm motion envelope space are established as follows:
[0049] min||p Δ1 -p Δ2 ||2>d min
[0050] s.t.p Δ1 ∈Δ(p i ,p j ,p base1 )|(p i ,p j ∈p task1 )
[0051] p Δ2 ∈Δ(p m ,p n ,p base2 )|(p mp n ∈p task2 )
[0052] where, Δ(p taski ,p taskj ,p base1 ) represents the approximate region of the motion envelope space of the manipulator passing through adjacent task points, ||p i -p j ||2 is the Euclidean distance between any two points in the approximate region of the dual-arm motion envelope space, which is required to be greater than the set safety distance threshold d min ;
[0053] Step S3.2.3 combines steps S3.2.1 and S3.2.2, and defines the dual-arm task assignment and scheduling model as:
[0054] solve p tasks
[0055]
[0056] where, the decision vector p tasks represents the set of dual-arm task point sequences, which can be divided into the task point sequence p task1 of the first manipulator and the task point sequence p task2 of the second manipulator;
[0057] Step S3.3 uses the hybrid NSGA-II and MOPSO algorithm to solve the action sequence of the dual-arm executing the multi-module replacement task, and the algorithm flow is as follows:
[0058] Step S3.3.1 randomly generates an initial population, where each individual is a one-dimensional vector obtained by mapping a two-dimensional matrix composed of dual-arm action sequences, containing ordered dual-arm action sequence information and a random position of each individual in the decision space; the value of all objective functions is calculated for each individual in the population; an external archive is created, which is used to store all non-dominated individuals in the current iteration in the subsequent maintenance of the approximate solution set of the Pareto front;
[0059] Step S3.3.2 performs non-dominated sorting on the current population, and divides the individuals into different Pareto fronts (Front1, Front 2, …); all individuals p and q in the population are traversed, if p is not inferior to q in all objectives, and at least superior to q in one objective, then record p dominates q, that is,
[0060]
[0061] Again, traverse all individuals in the population, record all individuals not dominated by any individual, and classify them into the first front; for each individual in the current front, traverse its dominated individual set, and for each individual dominated by the current front individual, decrease its domination count, if the domination count of a dominated individual decreases to zero, it means that the individual is no longer dominated by any unprocessed front individual, classify the individual into the next front, repeat the iteration to generate new front until all individuals are assigned to the corresponding front; according to the ranking of non-dominated front, divide the population into upper and lower parts; the upper part contains the higher ranked non-dominated front, which is used for global optimal solution exploration; and the lower part contains the lower ranked individuals, which is used for local search and information utilization;
[0062] Step S3.3.3 calculates the crowding distance d(p i ) for individuals in each front, for each objective function, sort all individuals in the front according to the value of the objective; set the crowding distance of the first and last individual in the sorted list on each objective to infinity to ensure that the boundary individuals are preferentially retained in the selection process:
[0063] d(p1)=d(p N )=∞
[0064] Where p1 and p N represent the first and last individual in the sorted list on each objective;
[0065] For each individual in each front, calculate the normalized distance of the difference between its adjacent objective values on each objective function:
[0066]
[0067] Add the crowding distance on all objectives to obtain the total crowding distance of each individual;
[0068]
[0069] Where p i+1 and p i-1 represent the two adjacent solutions of the current solution p i in the sorted list;
[0070] Step S3.3.4 selects individuals in the same front level according to the crowding distance from large to small until the number of individuals reaches the population size, forming a new parent population;
[0071] Step S3.3.5 performs crossover and mutation operation on the upper half of the parent population to generate the offspring population, and uses sequential crossover to perform crossover on multiple individual sequences; first, two crossover points are randomly selected in two parent individuals, and the sequence between the two crossover points in the first parent individual is copied to the same position of the offspring; this ensures that the offspring individual inherits part of the sequence of the parent individual while retaining its order; then, the remaining positions of the offspring individual are sequentially filled with the sequence of the second parent individual in order of appearance; exchange mutation is used to introduce diversity while maintaining the feasibility of the individual; two positions in the sequence of the individual are randomly selected to exchange the codes;
[0072] Step S3.3.6 stores the non-dominated individuals of the parent population in an external archive; divides the target space into multiple grids, and assigns the selection probability of the individuals in the external archive to each grid according to the crowding distance; uses roulette selection to select a leader to guide the search direction of the lower half of the parent population; for individuals with discrete ordered sequence attributes, the speed and position update are defined as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence; first, identify the differences between the current individual sequence and the locally optimal individual sequence, and generate a pair of elements that need to be exchanged according to a certain probability; then, merge the exchange pair and sequentially exchange the elements of the current individual sequence to generate an offspring individual;
[0073] Step S3.3.7 combines the parent individuals and offspring individuals of the upper and lower population respectively, calculates the objective function value and non-dominated ranking of the individuals, removes the individuals with low ranking when the number of population individuals exceeds the population size limit, and repeats steps S3.3.4 to S3.3.7 until the maximum number of iterations is reached, and obtains the Pareto solution set from the final population.
[0074] The above method, the step S4 comprises:
[0075] Step S4.1 arranges the three evaluation indexes of the Pareto solution set target space obtained in step S3.3.7 horizontally and the N evaluation objects vertically to form a matrix, and let f ij be the jth optimization objective value of the ith solution, and the matrix is
[0076]
[0077] Step S4.2 performs standardization processing on the matrix F 3N to obtain a standardized matrix F3' N to eliminate the influence of different index dimensions, and let the standardized matrix element be f ij ', and
[0078]
[0079] Step S4.3 normalizes each index to unify the index type, and the matrix element after normalization is denoted as f ij ”, has
[0080]
[0081] wherein min(f j ') and max(f j ') are the minimum and maximum values of the jth optimization objective of the Pareto solution set; step S4.4 sets the weight coefficient w of each optimization objective, and the score of the ith solution is denoted as
[0082]
[0083] Step S4.5 sorts the Pareto solution set according to the score from high to low, and the solution corresponding to the highest score is the optimal solution of the dual-arm motion sequence planning in the ideal case. BRIEF DESCRIPTION OF DRAWINGS
[0084] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative and laborious efforts on the basis of these drawings.
[0085] Figure 1 is a flowchart of a dual-arm motion sequence planning method for on-orbit multi-module replacement tasks provided by the embodiments of the present application;
[0086] Figure 2 is a flowchart of multi-module replacement task decomposition.
[0087] Figure 3 is a flowchart of dual-arm motion sequence solution based on the hybrid NSGA-II and MOPSO algorithms.
[0088] Figure 4 is a motion performance function change curve of the iteration process of the hybrid NSGA-II and MOPSO algorithms.
[0089] Figure 5 is a total task time function change curve of the iteration process of the hybrid NSGA-II and MOPSO algorithms.
[0090] Figure 6 is a load balancing ratio function change curve of the iteration process of the hybrid NSGA-II and MOPSO algorithms.
[0091] Figure 7 is a Pareto solution set result of the objective space. DETAILED DESCRIPTION
[0092] For better understanding of the technical solutions of the present application, the embodiments of the present application are described in detail below with reference to the drawings.
[0093] It should be clear that the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.
[0094] The embodiments of the present application provide a dual-arm action sequence planning method for on-orbit multi-module replacement tasks, please refer to Figure 1 , which is a flowchart of the dual-arm action sequence planning method for on-orbit multi-module replacement tasks provided by the embodiments of the present application, as shown in Figure 1 , the method comprises the following steps:
[0095] Step 101, the on-orbit multi-module replacement task is mathematically modeled, and several key operation points of each module replacement task are represented as task points; the dual-arm system is mathematically modeled and constraint constructed.
[0096] Specifically, the multi-module replacement task is simplified as a task point set P composed of the task points, and P is mathematically represented as: P={p1,p2,…,pn}, i=1,2,…,n. Wherein, p i ,…,p n i is the i-th task point attribute. i
[0097] p i =(pose i ,priority i ,request i ,duration i )。
[0098] Wherein, pose i indicates the end pose requirement of the i-th task point of the task point set for the mechanical arm, pose i =(x i ,y i ,z i ,rz i ,ry i ,rx i ), x i ,y i ,z i is the three-dimensional position of the Cartesian space, rz i ,ry i ,rx i is the three-dimensional attitude described by Euler angle; priorityi represents the priority of the task point; request i represents the precondition constraint of the task point action to the environment and the robot arm, request i =(req_arm,req_node), req_arm represents the end state of the robot arm required by the task point action, and req_node represents the requirement for the related task point; duration i represents the duration of the robot arm performing the grasping module or release module operation at the task point.
[0099] For the physical properties and real-time state of each robot arm in the dual-arm system, the robot arm information set is mathematically represented as R={r1,r2}, where r1 and r2 are tuples of the first robot arm and the second robot arm information, respectively:
[0100]
[0101] Wherein, pbase represents the robot base pose, described by a position vector and Euler angles, Pbase=(x,y,z,rz,ry,rx); connections contains the connection relationship of each joint of the robot arm; config represents the real-time configuration of the robot arm, including the rotation angles of each joint; status represents the working state of the robot arm, which is 0 when the end effector is empty, at which time the tool or module can be captured; when the end effector captures the tool or module, the value is the serial number of the tool or module; constraints represent the physical performance constraints of the robot arm, including joint angle upper and lower limits, joint speed limits, and joint acceleration limits;
[0102] Step 102, task decomposition is performed on the on-orbit multi-module replacement task; through a dynamic programming algorithm and a depth-first search algorithm, task points are connected according to the constraints of the single-module replacement task, and a task decomposition scheme is searched to divide the large-scale module replacement task into multiple batches of small-scale module replacement tasks.
[0103] Specifically, the multi-module replacement task decomposition process is as shown in Figure 2 .
[0104] First, the state and priority of the task point are initialized, the multi-module replacement task is divided according to the task priority from high to low, and multiple sub-problems are defined; a dynamic programming method is used to decompose each sub-problem, and a DP state is defined to store a local module replacement task set {pi}; second, for each module replacement task in the sub-problem, a depth-first search algorithm is used to find a task point sequence pi i that completes the module replacement in reverse; third, pi iThe constraints and final states of each task point on related task points are compared with the constraint set and the state set; if π i If the constraint requirement conflicts with the final state of any task point sequence in {π}, then swap π. i With π j If π i If the constraint requirement does not conflict with {π}, then π will be... i Add to set {π}; if π i If the final state of {π} conflicts with the constraint requirements of any task point sequence in {π}, then π will be... i Add to the candidate set; Fourth step, when all module replacement task sequences of the subproblem have been traversed, update the local module replacement task set {π} and the DP state to be empty, and iterate through the candidate set to execute the third step until the candidate set is empty; at this point, the subproblem decomposition is complete; Fifth step, iterate through the second to fourth steps until all subproblems are decomposed.
[0105] Step 103: Considering multiple optimization objectives and constraints, construct a dual-arm task allocation and scheduling model with multiple module replacement tasks, solve it based on intelligent optimization algorithm, and obtain the solution set of dual-arm action sequence.
[0106] Specifically, the process for solving the dual-arm motion sequence based on the hybrid NSGA-II and MOPSO algorithms is as follows: Figure 3 As shown. First, the population is randomly initialized, and the objective function values for each individual in the population are calculated using the following formula:
[0107]
[0108] Wherein, the decision vector p tasks This represents the set of task point sequences for the two robotic arms, which can be divided into sequences p for the first robotic arm. task1 The sequence p of the second robotic arm task2 The objective functions f1, f2, and f3 represent motion performance, task time, and load balancing metrics, respectively.
[0109] Examine the sequence of each individual in the population using the following formula:
[0110] min||p Δ1 -p Δ2 ||2>d min
[0111] stp Δ1 ∈Δ(p i ,p j ,p base1 )|(p i ,p j ∈p task1 )
[0112] p Δ2 ∈Δ(p m ,p n ,p base2 )|(p m ,p n ∈p task2 )
[0113] where Δ(p taski ,p taskj ,p base1 ) represents the approximate region of the motion envelope space of the manipulator passing through adjacent task points, ||p i -p j ||2 is the Euclidean distance between any two points in the approximate region of the dual-arm motion envelope space, which is required to be greater than the set safety distance threshold d min .
[0114] The current population is non-dominantly sorted according to the following formula, and the dominance relationship between individuals is recorded.
[0115]
[0116] All individuals not dominated by any individual are classified into the first front; the dominated individual set is traversed, and the individual only dominated by the superior front is classified into the next front, and the new front is generated by repeating iteration until all individuals are assigned to the corresponding front.
[0117] The crowded distance of individuals in each front is calculated. For each objective function, all individuals in the front are sorted according to the value of the objective; the crowded distance of the first and last individuals on each objective is set to positive infinity to ensure that the boundary individuals are preferentially retained in the selection process:
[0118] d(p1)=d(p N )=∞
[0119] where p1 and p N represent the first and last individuals on the objective.
[0120] For each internal individual in each front, the normalized distance of the difference between the adjacent objective values on each objective is calculated:
[0121]
[0122] The crowded distance on all objectives is added to obtain the total crowded distance of each individual.
[0123]
[0124] where p j+1 and pj-1 current solution p j two solutions adjacent in the ordered list.
[0125] Select individuals from large to small according to the front rank and crowding distance until the number of individuals reaches the population size, forming a new parent population.
[0126] Perform crossover and mutation operations on the upper half of the parent population to generate a child population. Sequential crossover is used to cross multiple individual sequences. First, two crossover points are randomly selected in two parent individuals, and the sequence between the two crossover points in the first parent individual is copied to the same position in the child. This ensures that the child individual inherits part of the sequence of the parent individual while preserving its order. Then, the remaining positions in the child individual are filled in order of appearance from the sequence of the second parent individual. Exchange mutation is used to introduce diversity while maintaining the feasibility of the individual. Two positions are randomly selected in the sequence of the individual, and the codes at the two positions are exchanged.
[0127] Store non-dominated individuals of the parent population in an external archive. Divide the target space into multiple grids, and assign a selection probability of individuals in the external archive to each grid according to the crowding distance. Use roulette selection to select a leader to guide the search direction of the lower half of the parent population. For individuals with discrete ordered sequence attributes, define velocity and position updates as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence. First, identify the differences between the current individual sequence and the local optimal individual sequence, and generate pairs of elements that need to be exchanged according to a certain probability. Then, merge the exchange pairs and exchange the elements of the current individual sequence one by one to generate child individuals.
[0128] Merge the parent individuals and child individuals of the upper and lower populations respectively, calculate the objective function values and non-dominated rank of the individuals, and remove the individuals with low rank when the number of population individuals exceeds the population size limit. Repeat the above steps until the maximum number of iterations is reached. Obtain the Pareto solution set from the final population.
[0129] The algorithm parameters of the above steps are shown in Table 1, and the iteration process and Pareto solution set results are shown in Figure 4 to Figure 7 .
[0130] Table 1 Hybrid NSGA-II and MOPSO algorithm parameters
[0131]
[0132] Step 104, evaluate the dual-arm motion sequence solution set using the ideal and non-ideal solution distance method, sort the dual-arm motion sequence solution set, and obtain the ideal dual-arm motion sequence planning optimal solution.
[0133] Specifically, the three evaluation indexes of the Pareto solution set target space are arranged transversely, and N evaluation objects are arranged longitudinally to form a matrix, let f ij The jth optimization target value of the ith solution is standardized as follows:
[0134]
[0135] Each index is then normalized as follows:
[0136]
[0137] The weight coefficient w of each optimization target is set, and the score of the solution is calculated as
[0138]
[0139] According to the score from high to low, the Pareto solution set is sorted as shown in Table 2, and the optimal solution of the action sequence planning under the ideal condition is obtained, i.e. scheme No. 7. Among them, the motion performance of the optimal scheme is 9.1696, which is improved by 7.74% compared with the average level of the Pareto solution set scheme; the task time of the optimal scheme is 738 seconds, which is improved by 12.98% compared with the average level of the Pareto solution set scheme; the load balancing index of the optimal scheme is 9.1696, which is improved by 2.28% compared with the average level of the Pareto solution set scheme.
[0140] Table 2: Pareto solution set under target space
[0141]
[0142]
[0143] The technical scheme of the embodiment of the application has the following beneficial effects:
[0144] The action sequence planning problem of the dual-arm performing multi-module replacement task is modeled, and the dual-arm system is modeled; the large-scale problem is divided into multiple batches of small-scale problems through task decomposition based on task constraints, improving the sequence planning efficiency; the mixed NSGA-II and MOPSO algorithm is used to realize the optimization of the dual-arm action sequence in multiple indexes such as motion performance, total task time and load balancing ratio, the solution set is sorted and optimized under different index weights through the superior-inferior solution distance method, improving the execution efficiency and reliability of the planning scheme, and reducing the failure rate of the dual-arm system.
[0145] The above only describes the preferred embodiments of the application and is not intended to limit the application, and any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the application shall be included in the protection scope of the application.
[0146] Those aspects of the application which are not specifically described in the specification are well known to those skilled in the art.
Claims
1. A dual-arm motion sequence planning method for on-orbit multi-module replacement tasks, characterized in that, The method comprises: Step S1: modeling the on-orbit multi-module replacement task, representing several key operation points of each module replacement task as task points, and modeling and constructing constraints for the dual-arm system; Step S2: task decomposition of the on-orbit multi-module replacement task; according to the constraints of the single-module replacement task, the task points are connected by using a dynamic programming algorithm and a depth-first search algorithm to search for a task decomposition scheme for dividing the large-scale module replacement task into multiple batches of small-scale module replacement tasks; Step S3: considering multiple optimization objectives and constraint conditions, constructing a dual-arm task allocation and scheduling model for the multi-module replacement task, using a hybrid NSGA-II and MOPSO algorithm to solve the action sequence of the dual-arm for executing the multi-module replacement task, and obtaining a dual-arm action sequence solution set; Step S4: evaluating the dual-arm action sequence solution set by using a superior-inferior solution distance method, sorting the dual-arm action sequence solution set, and obtaining an ideal dual-arm action sequence planning optimal solution.
2. The method of claim 1, wherein, The step S1 comprises: Step S1.1 simplifies the multi-module replacement task into a task point set P consisting of the task points, mathematically represented as: P = {p1, p2, …, pn}, i = 1, 2, …, n; where p i is a tuple mathematically representing the i-th task point attribute, p n = (pose i , priority i , request i , duration i ). i i wherein pose i represents the end-effector pose requirement of the i-th task point of the task point set to the robot arm, pose i = (x i , y i , z i , rz i , ry i , rx i ), x i , y i , z i are three-dimensional positions in Cartesian space, and rz i , ry i , rx i are three-dimensional poses described by Euler angles; priority i represents the priority of the task point; request i represents the pre-condition constraint of the task point action to the environment and the robot arm, request i = (req_arm, req_node), req_arm represents the required end-effector state of the robot arm for the task point action, and req_node represents the requirement to the related task point; duration i represents the duration of the robot arm executing the grasping module or the releasing module operation at the task point. Step S1.2 mathematically represents the set of manipulator information as R = {r1, r2} for the physical properties and real-time state of each manipulator in the dual-arm system, where r1, r2 are tuples of the first manipulator and second manipulator information, respectively, Wherein, pbase represents a mechanical arm base pose, described by a position vector and Euler angles, Pbase=(x,y,z,rz,ry,rx); connections contains the connection relationship of each joint of the mechanical arm; config represents the real-time configuration of the mechanical arm, containing the rotation angle of each joint; status represents the working state of the mechanical arm, the value is 0 when the end effector is empty, at which time the tool or module can be captured; the value is the serial number of the tool or module when the end effector captures the tool or module; constraints represent the physical performance constraints of the mechanical arm, including the upper and lower limits of the joint angle, the joint speed limit, and the joint acceleration limit.
3. The method of claim 1, wherein, The step S2 comprises: Step S2.1: initializing the state and priority of the task points, dividing the multi-module replacement task according to the task priority from high to low, and defining multiple sub-problems; Step S2.2 decomposes each sub-problem by using dynamic programming method, defines DP state to store local module replacement task set {π}; for each module replacement task in the sub-problem, a task point sequence π completing module replacement is found reversely by using depth-first search algorithm i ; Step S2.3 merge π i with the constraint requirements of each task point and the final state of the related task points, and compare with the constraint set and the state set; if the constraint requirements of π i conflict with the final state of any task point sequence in {π}, then exchange π i with π j ; if the constraint requirements of π i do not conflict with {π}, then add π i to the set {π}; if the final state of π i conflicts with the constraint requirements of any task point sequence in {π}, then add π i to the alternative set; Step S2.4: when the module replacement task sequence of the sub-problem is completed, updating the local module replacement task set {π} and the DP state to empty, and iteratively executing step S2.3 on the candidate set until the candidate set is empty; at this point, the sub-problem decomposition is completed; Step S2.5: iteratively executing steps S2.2 to S2.4 until all sub-problems are decomposed.
4. The method of claim 1, wherein, The step S3 comprises: Step S3.1: defining the premise of the dual-arm task allocation and scheduling problem for the multi-module replacement task as follows: each mechanical arm can only operate one module at the same time, and the transfer operation of each module is completed by a single mechanical arm, and there is a priority order constraint between multiple modules; Step S3.2: constructing a dual-arm task allocation and scheduling model considering multiple objectives, setting optimization objectives, and establishing constraint conditions; Step S3.2.1: defining the motion performance of the mechanical arm at each task point, the total task time, and the load balancing ratio as three optimization objectives; (1) Motion performance The smooth execution of the module dismounting and mounting action depends on the motion ability of the mechanical arm at the task point; since the mechanical arm controls the motion state of the mechanical arm end by controlling the joint rotation angle, the Jacobian matrix J can be used to describe the mapping relationship between the joint angular velocity vector of the mechanical arm and the end motion velocity vector and the end motion velocity vector The condition number of the Jacobian matrix can be used as a quantitative indicator of the dexterity of the mechanical arm to evaluate the motion ability of the end effector to reach a specified pose in any direction, and is defined as follows: where K J is the condition number of the Jacobian matrix, ||J|| is the eigenvalue of the Jacobian matrix, λ max is the maximum eigenvalue of the Jacobian matrix; The motion performance function is defined as the average of the condition numbers of the Jacobian matrices of the mechanical arm passing through the task points: where λ min is the minimum eigenvalue of the Jacobian matrix; (2) Total task time Task time not only contains the transfer time between task points, but also the working time of manipulator. To simplify the process of solving task time, the transfer time is estimated by dividing the distance between task points by the maximum speed of manipulator's end-effector. The transfer time is defined as: wherein ||p i -p j ||2is the Euclidean distance between adjacent work points, v limit is the maximum speed of the end of the robot arm; The working time of the mechanical arm at the task point depends on the task complexity of the point and the execution efficiency of the tool at the end of the mechanical arm, and the working time t of the mechanical arm at each task point is approximately estimated work , and the working time is calculated according to the task point sequence; In summary, the task time of manipulator is the sum of transfer time and working time. The total task time of dual-arm system depends on the task time of manipulator with the longest time. (3) Load balance ratio Since the motion distance of manipulator in transfer process is negligible compared to the distance between task points, the load balance ratio is defined as the ratio of the maximum transfer time to the minimum transfer time of manipulators in dual-arm system: The closer the load balance ratio is to 1, the more balanced the task distribution between manipulators is, and the almost same working load of each manipulator reduces the potential problems caused by excessive task of single manipulator. Step S3.2.2 estimates the motion envelope space of manipulator passing through adjacent task points by approximating the area surrounded by connecting adjacent task points and the lines connecting manipulator to these two task points. The constraints of dual-arm motion envelope space are established as follows: min||p Δ1 -p Δ2 ||2>d min s.t.p Δ1 ∈ Δ(p i ,p j ,p base1 ) | (p i ,p j ∈ p task1 ) p Δ2 ∈ Δ(p m ,p n ,p base2 ) | (p m ,p n ∈ p task2 ) Wherein, Δ(p) taski ,p taskj ,p base1 ) represents an approximate region of the motion envelope space of the robotic arm as it passes through adjacent task points, ||p Δ1 -p Δ2 ||2 is the Euclidean distance between any set of points in the approximate region of the double-arm motion envelope space, which is required to be greater than a set safety distance threshold d. min ; Step S3.2.3 combines step S3.2.1 and step S3.2.2 to define the dual-arm task allocation and scheduling model as: Wherein, the decision vector p tasks represents a set of dual-arm task point sequences, which can be divided into a task point sequence p task1 of the first robot arm and a task point sequence p task2 of the second robot arm. Step S3.3 uses the hybrid NSGA-II and MOPSO algorithm to solve the action sequence of dual-arm executing multi-module replacement task. The algorithm process is as follows: Step S3.3.1 randomly generates an initial population, where each individual is a one-dimensional vector obtained by mapping a two-dimensional matrix composed of action sequences of dual-arms. Each individual contains ordered dual-arm action sequence information and a random position in the decision space. Calculate the value of all objective functions for each individual in the population. Create an external archive to store all non-dominated individuals in the current iteration and maintain an approximate solution set of the Pareto front. Step S3.3.2 non-dominantly sorts the current population and divides the individuals into different Pareto fronts (Front 1, Front 2, …). Traverse all individuals p and q in the population. If p is not inferior to q in all objectives and superior to q in at least one objective, record p dominating q, i.e. Again, traverse all individuals in the population and record all individuals that are not dominated by any individual, which are classified into the first front. For each individual in the current front, traverse its dominated individual set. For each individual dominated by the current front individual, reduce its domination count. If the domination count of a dominated individual reduces to zero, it means that the individual is no longer dominated by any unprocessed front individual. Classify the individual to the next front. Repeat the iteration to generate new fronts until all individuals are assigned to the corresponding front. According to the ranking of non-dominated fronts, divide the population into upper and lower parts. The upper part contains higher-ranked non-dominated fronts for global optimization, while the lower part contains lower-ranked individuals for local search and utilizing existing information. Step S3.3.
3. Calculate the crowding distance d(p i ) for each individual in the population. For each objective, sort all individuals in the population by the value of that objective; set the crowding distance of the first and last individual in the sorted list to infinity to guarantee that boundary individuals are preferentially retained during selection: d(p1) = d(p N ) = ∞ where p1 and p N represent the first and last individuals in the ranking on the target. For each individual in the front, calculate the normalized distance of the difference between its adjacent objective values on each objective function: Add the crowding distance on all objectives to get the total crowding distance of each individual; where p i+1 and p i-1 denote the current solution p i two solutions in the sorted list that are adjacent; Step S3.3.
4. In the same front rank, select individuals according to the crowding distance from large to small until the number of individuals reaches the population size, forming a new parent population; Step S3.3.
5. Perform crossover and mutation operations on the upper half of the parent population to generate a child population. Sequential crossover is used for the crossover of multiple individual sequences. First, two crossover points are randomly selected in two parent individuals. In the first parent individual, the sequence between the two crossover points is copied to the same position in the child. This ensures that the child individual inherits part of the sequence of the parent individual while preserving its order. Then, the remaining positions in the child individual are filled in order of appearance from the sequence of the second parent individual. Exchange mutation is used to introduce diversity while maintaining the feasibility of the individual. Two positions in the sequence of the individual are randomly selected and exchanged. Step S3.3.
6. Store the non-dominated individuals of the parent population in an external archive. Divide the objective space into multiple grids. In each grid, assign the selected probability of individuals in the external archive according to the crowding distance. Use roulette selection to select a leader to guide the search direction of the lower half of the parent population. For individuals with discrete ordered sequence attributes, define the speed and position update as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence. First, identify the differences between the current individual sequence and the local optimal individual sequence. According to a certain probability, generate pairs of elements that need to be exchanged. Then, merge the exchange pairs and exchange the elements of the current individual sequence one by one to generate child individuals. Step S3.3.
7. Merge the parent individuals and child individuals of the upper and lower populations respectively. Calculate the objective function values and non-dominated ranking of the individuals. When the number of population individuals exceeds the population size limit, remove the individuals with low ranking. Repeat steps S3.3.4 to S3.3.7 until the maximum number of iterations is reached. Obtain the Pareto solution set from the final population.
5. The method of claim 4, wherein, The step S4 includes: Step S4.1 arranges the three evaluation indexes of the target space of the Pareto solution set obtained in step S3.3.7 horizontally and the N evaluation objects vertically to form a matrix, let f ij be the jth optimization target value of the ith solution, and the matrix be Step S4.2 Standardization is performed on the matrix F 3N to eliminate the influence of different index dimensions, and the standardization matrix element is denoted as f 3N ', and has ij Step S4.3 Normalizes each indicator to unify the indicator type, and let the matrix element after normalization be f ij , there are min(f'(x)) < f'(x) < max(f'(x)) j ), max(f'(x)) j ) are the minimum and maximum values of the jth optimization objective of the Pareto solution set. Step S4.
4. Set the weight coefficient w of each optimization objective. Let the score of the i-th solution be Step S4.
5. Sort the Pareto solution set from high to low according to the score. The solution with the highest score is the optimal solution for the ideal two-arm motion sequence planning.
Citation Information
Patent Citations
Minimum saltus trajectory optimization method of mechanical arm based on multi-objective particle swarm optimization algorithm
CN104020665A
Task planning method and system for space manipulator
CN105425830A