Double-arm action sequence planning method for on-orbit multi-module replacement task

Through mathematical modeling and intelligent optimization algorithms, the two-arm action sequence of in-orbit multi-module replacement tasks is decomposed and optimized, which solves the problems of low path efficiency and collision risk in the high-dimensional task space of the two-arm system, and achieves efficient and safe task execution.

CN119871394AActive Publication Date: 2025-04-25BEIJING UNIV OF POSTS & TELECOMM
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510040128.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-10
Publication Date
2025-04-25
Estimated Expiration
2045-01-10

AI Technical Summary

Technical Problem

In the rail multi-module replacement task, the two-arm system is inefficient in planning paths in high-dimensional task space, and there is a risk of collision between multiple robotic arms, which affects task execution.

Method used

Through mathematical modeling and constraint construction, dynamic programming and depth-first search algorithms are used for task decomposition, combining intelligent optimization algorithms and hybrid NSGA-II and MOPSO algorithms to optimize the two-arm action sequence, avoid conflicts and improve efficiency.

Benefits of technology

It realizes efficient planning of on-orbit multi-module replacement tasks, reduces the failure rate and task time of the two-arm system, and improves the motion performance and load balancing of the robotic arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119871394A_ABST
    Figure CN119871394A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a double-arm action sequence planning method for an in-orbit multi-module replacement task. The method comprises the steps that mathematical modeling is conducted on the multi-module replacement task and a double-arm system; performing task decomposition on a multi-module replacement task, and searching a task decomposition scheme for segmenting a large-scale module replacement task into multi-batch module replacement tasks according to a single-module replacement task constraint series task point through a dynamic programming algorithm and a depth-first search algorithm; multiple optimization targets and constraint conditions are considered, a double-arm task allocation and scheduling model for multi-module replacement is constructed, and double-arm action sequence solving is achieved based on an intelligent optimization algorithm; and evaluating the obtained solution set by adopting a good and inferior solution distance method, realizing double-arm action sequence scheme sorting, and obtaining an ideal optimal planning solution. According to the technical scheme provided by the embodiment of the invention, the efficiency of executing the on-orbit multi-module replacement task by the two arms can be improved on the premise of avoiding the conflict of the two arms, and the continuous and healthy operation of the two-arm system is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The invention 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 technology]

[0002] With the rapid development of space science and technology, the structure of spacecraft systems is becoming increasingly complex. Under this situation, how to ensure that spacecraft systems can operate more stably and sustainably in a complex space environment has become an important issue that needs to be urgently addressed in the field of space technology. The emergence of on-orbit maintenance technology provides a new model for the logistics maintenance of spacecraft systems. Combined with space manipulator technology, on-orbit maintenance can provide daily maintenance and fault repair services for spacecraft. Among them, module replacement is an important task of on-orbit maintenance, which is to achieve the replacement operation of module units through robots. At present, ETS-VII, ROTEX and Ranger have all realized the verification of module replacement operation, and the robot BAT has also participated in completing some maintenance tasks of the Hubble Space Telescope. Module replacement can realize fault repair or function upgrade of spacecraft, minimize the risk of spacecraft failure, extend its service life and make full use of its performance.

[0003] However, spacecraft are usually equipped with a large number of modules with different functions. During on-orbit maintenance, multiple types of modules need to be replaced. The module replacement process involves the removal, transfer and installation of modules, which requires the end of the robotic arm to be equipped with specific tools required to operate the modules. This leads to long on-orbit multi-module replacement task process sequences, diverse operation objects, and complex constraints between task steps. At the same time, in order to improve the efficiency of space robots in performing tasks, multiple high-degree-of-freedom robotic arms are often carried on the surface of spacecraft. Their movements are complex, resources are limited, and they are constrained by the surface environment of the spacecraft. In addition, there are overlapping workspaces between multiple robotic arms, which are prone to collisions with each other, damaging the robotic arms and modules while affecting the execution of tasks.

[0004] Existing methods can be divided into search methods, optimization methods, rule methods, learning methods, etc. Search methods generate planning paths through state space search or random sampling. However, the computational complexity grows exponentially in high-dimensional task space, especially in two-arm tasks, resulting in low planning efficiency. Optimization methods optimize action sequences by simulating biological evolution, but often converge slowly and require a large number of iterations to find a feasible solution. They are highly dependent on initial conditions and are prone to falling into local optimality. Rule methods generate action plans through predefined rules or constraints, which are suitable for processing structured tasks. However, when the complexity of the task increases, the number of rules and the difficulty of design will grow exponentially. The support for two-arm tasks is limited, and it is difficult to handle multiple constraints and conflict problems. Learning methods learn the optimal strategy through interaction with the environment, which is suitable for complex tasks and dynamic environments. However, there are problems such as high training cost and poor model interpretability.

[0005] Therefore, it is necessary to study the dual-arm motion sequence planning method for on-orbit multi-module replacement tasks, to improve the efficiency of the dual-arm in performing on-orbit multi-module replacement tasks while avoiding dual-arm conflicts, and to ensure the continuous and healthy operation of the dual-arm system. [Summary of the invention]

[0006] In view of this, an embodiment of the present invention provides a dual-arm motion sequence planning method for an on-orbit multi-module replacement task, so as to enable a space dual-arm system to autonomously perform an on-orbit multi-module replacement task.

[0007] The present invention provides a dual-arm motion sequence planning method for an on-orbit multi-module replacement task, comprising:

[0008] Step S1 mathematically models the on-orbit multi-module replacement task, represents several key operation points of each module replacement task as task points; mathematically models the dual-arm system and constructs constraints;

[0009] Step S2 decomposes the on-orbit multi-module replacement task; through the dynamic programming algorithm and the depth-first search algorithm, the task points are connected in series 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;

[0010] Step S3 considers multiple optimization objectives and constraints, builds a dual-arm task allocation and scheduling model for multi-module replacement tasks, solves based on an intelligent optimization algorithm, and obtains a dual-arm action sequence solution set;

[0011] Step S4 uses a superior-inferior solution distance method to evaluate the dual-arm motion sequence solution set, sort the dual-arm motion sequence solution set, and obtain an ideal optimal solution for dual-arm motion sequence planning.

[0012] In the above method, step S1 comprises:

[0013] Step S1.1 simplifies the multi-module replacement task into a task point set P consisting of the task points, and mathematically represents P as follows: P = {p1, p2, ..., p i ,…,p n},i=1,2,…,n. Among them, p i is a tuple that mathematically represents the attributes of the i-th task point:

[0014] p i =(pose i ,priority i ,request i ,duration i )

[0015] Among them, pose i Indicates the end pose requirement of the i-th task point in the task point set for 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 The three-dimensional posture described by the Euler angle; priority i Indicates the priority of the task point; request i Indicates the preconditions of the task point action on the environment and the robot arm, request i =(req_arm,req_node), req_arm indicates the state of the end of the robot arm required by the task point action, and req_node indicates the requirements for the relevant task point; duration i Indicates the duration that the robot arm takes to perform the grab module or release module operation at this task point.

[0016] Step S1.2 For the physical properties and real-time status of each robot in the dual-arm system, the robot information set is mathematically represented as R = {r1, r2}, where r1 and r2 are tuples of the first robot information and the second robot information respectively:

[0017]

[0018] Among them, pbase represents the base pose of the robot arm, which is described by position vector and Euler angle, 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 angle of each joint; status represents the working status of the robot arm. When the end effector is idle, the value is 0, and the tool or module can be captured at this time; when the end effector captures the tool or module, the value is the serial number of the tool or module; constraints represents the physical performance constraints of the robot arm, including the upper and lower limits of the joint angle, the joint speed limit, and the joint acceleration limit;

[0019] In the above method, step S2 comprises:

[0020] Step S2.1 initializes the status and priority of the task point, divides the multi-module replacement tasks from high to low according to the task priority, and defines multiple sub-problems;

[0021] Step S2.2 uses the dynamic programming method to decompose each sub-problem and define the DP state to store the local module replacement task set {π}; for each module replacement task in the sub-problem, use the depth-first search algorithm to reversely find a task point sequence π that completes the module replacement i ;

[0022] Step S2.3 Merge π i The constraint requirements and final state of each task point on the related task points are compared with the constraint set and the state set; if π i If the constraint requirement of π conflicts with the final state of any task point sequence in {π}, then π is swapped. i With π j ; If π i If the constraint requirement does not conflict with {π}, then π i Add to the set {π}; if π i If the final state of {π} conflicts with the constraints of any task point sequence in {π}, then i Add to alternative collection;

[0023] Step S2.4: When all module replacement task sequences of the sub-problem are traversed, the local module replacement task set {π} and the DP state are updated to be empty, and step S2.3 is iteratively performed on the candidate set until the candidate set is empty; at this point, the decomposition of a 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, step S3 comprises:

[0026] Step S3.1 defines the dual-arm task allocation and scheduling problem for multi-module replacement tasks. The premise is as follows: each robotic arm can only operate one module at a time, and the transfer operation of each module is completed by a single robotic arm. At the same time, there are priority order constraints between multiple modules.

[0027] Step S3.2 constructs a dual-arm task allocation and scheduling model that considers multiple objectives, sets optimization goals, and establishes constraints;

[0028] Step S3.2.1 defines the motion performance of the robot at each task point, the total task time, and the load balance ratio as three optimization objectives;

[0029] (1) Sports performance

[0030] The smooth execution of module removal and installation depends on the motion ability of the robot at the task point; since the robot controls the motion state of the end of the robot by controlling the rotation angle of the joint, the Jacobian matrix J can be used to describe the angular velocity vector of the robot joint and the terminal motion velocity vector The mapping relationship between them is:

[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 ability of the end to reach a specified position in any direction. It 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, λ max is the maximum eigenvalue of the Jacobian matrix;

[0035] The motion performance function is defined as the mean of the condition number of the Jacobian matrix corresponding to the task point where the robot passes through:

[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 the operation time of the robot arm. To simplify the task time solution process, the distance between task points is divided by the maximum speed limit of the robot end to estimate the transfer time, and the transfer process time is defined as:

[0039]

[0040] Among them, ||p i -p j ||2 is the Euclidean distance between adjacent work points, v limit is the maximum speed limit of the end of the robot arm;

[0041] The operation time of the robot arm at the task point mainly depends on factors such as the task complexity at that point and the execution efficiency of the tool at the end of the robot arm. The operation time t of the robot arm at each task point is approximately estimated. work , calculate the operation time according to the task point sequence;

[0042] In summary, the task time of the robot arm is the sum of the time taken for each transfer process and the time taken for the operation. The total task time indicator of the dual-arm system depends on the task time of the robot arm with the longest time.

[0043]

[0044] (3) Load balancing ratio

[0045] Since the robot arm is in a small-range visual servo or follow-up working mode at the task point, the movement distance can be ignored compared to the transfer process, so the ratio of the maximum and minimum transfer time of the two arms is used as the load balancing ratio:

[0046]

[0047] The closer the load balance ratio is to 1, the more balanced the distribution of tasks among the robotic arms is, and the workload of each robotic arm is almost the same, which reduces the potential problems caused by excessive tasks on a single robotic arm;

[0048] Step S3.2.2 approximates the motion envelope space of the robot arm passing through the adjacent working points by connecting the adjacent task points with the area enclosed by the lines from the robot arm to the two working points, and establishes constraints on the motion envelope space of the two arms as follows:

[0049] min||p Δ1 -p Δ2 ||2>d min

[0050] stp Δ1 ∈Δ(p i ,p j ,p base1 )|(p i ,p j ∈p task1 )

[0051] p Δ2 ∈Δ(p m ,p n ,p base2 )|(p m,p n ∈p task2 )

[0052] Among them, Δ(p taski ,p taskj ,p base1 ) represents the approximate area of ​​the motion envelope space of the robot arm passing through adjacent task points, ||p i -p j ||2 is the Euclidean distance between any set of points in the approximate area of ​​the double-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 to define the dual-arm task allocation and scheduling model as:

[0054] solve p tasks

[0055]

[0056] Among them, the decision vector p tasks represents the set of dual-arm task point sequences, which can be divided into the task point sequence p of the first robotic arm task1 and the task point sequence p of the second robot arm task2 ;

[0057] Step S3.3 uses the hybrid NSGA-II and MOPSO algorithm to solve the action sequence of the dual-arm multi-module replacement task. The algorithm flow is as follows:

[0058] Step S3.3.1 randomly generates an initial population, where each individual is a one-dimensional vector mapped from a two-dimensional matrix consisting of the action sequences of the two arms, containing ordered information about the action sequences of the two arms and the random position of each individual in the decision space; calculates the values ​​of all objective functions for each individual in the population; creates an external archive, which is subsequently used to store all non-dominated individuals in the current iteration and maintain the approximate solution set of the Pareto frontier;

[0059] Step S3.3.2 performs non-dominated sorting on the current population and divides the individuals into different Pareto fronts (Front1, Front 2, ...); traverse all individuals p and q in the population, if p is not inferior to q in all objectives and is superior to q in at least one objective, then record that p dominates q, that is,

[0060]

[0061] Traverse all individuals in the population again, record all individuals that are not dominated by any individual, and classify them as the first frontier; for each individual in the current frontier, traverse the set of individuals it dominates, and for each individual dominated by the current frontier individual, reduce its domination count. If the domination count of a dominated individual is reduced to zero, it means that the individual is no longer dominated by any unprocessed frontier individual. The individual is classified into the next frontier, and new frontiers are generated repeatedly until all individuals are assigned to the corresponding frontiers; according to the ranking of the non-dominated frontier, the population is divided into the upper half and the lower half; the upper half contains the non-dominated frontier with a higher ranking, which is used to explore the global optimal solution; and the lower half contains the individuals with a lower ranking, which is used for local search and utilization of existing information;

[0062] Step S3.3.3 calculates the crowding distance d(p i ) calculation, for each objective function, all individuals in the frontier are sorted according to the value of the objective; the crowding distance of the first and last individuals in each objective is set to infinity to ensure that the frontier individuals are preferentially retained during the selection process:

[0063] d(p1)=d(p N )=∞

[0064] Among them, p1 and p N Indicates the first and last individuals in the target ranking;

[0065] For each individual in the frontier, the normalized distance between the differences in its neighboring objective values ​​on each objective function is calculated:

[0066]

[0067] Add up the crowding distances on all targets to get the total crowding distance of each individual;

[0068]

[0069] Among them, p i+1 and p i-1 Indicates the current solution p i Two solutions that are adjacent in the sorted list;

[0070] Step S3.3.4: In the same frontier level, individuals are selected from large to small according to the crowding distance until the number of individuals reaches the population size to form a new parent population;

[0071] Step S3.3.5 performs crossover and mutation operations on the upper half of the parent population to generate a child population, and uses sequential crossover to cross multiple individual sequences; first, randomly select two crossover points in the two parent individuals, and in the first parent individual, copy the sequence between the two crossover points to the same position of the child; this ensures that the child individual inherits part of the parent individual's sequence while retaining its order; then, the remaining positions of the child individual are filled in the order of appearance from the sequence of the second parent individual; exchange mutation is used to introduce diversity while maintaining individual feasibility; randomly select two positions in the individual sequence to exchange 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, allocates the probability of selecting individuals in the external archive in each grid according to the crowding distance, and uses roulette to select a leader to guide the search direction of the individuals in the lower half of the parent population; for individuals with discrete ordered sequence attributes, defines speed and position updates as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence, first, identifies the difference between the current individual sequence and the local optimal individual sequence, and generates pairs of elements that need to be exchanged according to a certain probability; then, merges the exchange pairs, exchanges the elements of the current individual sequence in turn, and generates offspring individuals;

[0073] Step S3.3.7 merges the parent individuals and child individuals of the upper and lower populations respectively, calculates the objective function value and non-dominated sorting level of the individuals, and when the number of individuals in the population exceeds the population size limit, removes the individuals with lower rankings, and repeats steps S3.3.4 to S3.3.7 until the preset maximum number of iterations is reached, and the Pareto solution set is obtained from the final population.

[0074] In the above method, step S4 comprises:

[0075] Step S4.1 Arrange the three evaluation indicators of the Pareto solution set target space obtained in step S3.3.7 horizontally, and arrange the N evaluation objects vertically to form a matrix. Let f ij is the jth optimization target value of the ith solution, and the matrix is

[0076]

[0077] Step S4.2: Matrix F 3N Perform standardization to obtain the standardized matrix F3' N , to eliminate the influence of different indicator dimensions, the standardized matrix element is denoted as f ij ',have

[0078]

[0079] Step S4.3: Forward each index to unify the index type. The matrix element after forward transformation is denoted as f ij ",have

[0080]

[0081] Among them, min(f j '), max(f j ') is the minimum and maximum value of the jth optimization target of the Pareto solution set; Step S4.4 sets the weight coefficient w of each optimization target, and the score of the i-th solution is recorded as

[0082]

[0083] Step S4.5 sorts the Pareto solution set according to the scores from high to low, and the solution corresponding to the highest score is the optimal solution for dual-arm action sequence planning under ideal conditions.

Brief Description of the Drawings

[0084] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creativity and labor.

[0085] Figure 1 It is a flow chart of a dual-arm motion sequence planning method for an on-orbit multi-module replacement task provided by an embodiment of the present invention;

[0086] Figure 2 It is a flowchart of the decomposition of multi-module replacement tasks.

[0087] Figure 3 It is a flowchart for solving the dual-arm action sequence based on the hybrid NSGA-II and MOPSO algorithm.

[0088] Figure 4 It is the variation curve of the motion performance function in the iterative process of the hybrid NSGA-II and MOPSO algorithms.

[0089] Figure 5 It is the total task time function change curve of the iterative process of the hybrid NSGA-II and MOPSO algorithms.

[0090] Figure 6 It is the load balancing ratio function change curve of the iterative process of the hybrid NSGA-II and MOPSO algorithms.

[0091] Figure 7 It is the Pareto solution set result of the target space. [Specific implementation method]

[0092] In order to better understand the technical solution of the present invention, the embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0093] It should be clear that the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0094] The embodiment of the present invention provides a dual-arm action sequence planning method for on-orbit multi-module replacement tasks, please refer to Figure 1 , which is a flow chart of a dual-arm motion sequence planning method for an on-orbit multi-module replacement task provided by an embodiment of the present invention, such as Figure 1 As shown, the method comprises the following steps:

[0095] Step 101, mathematical modeling of the on-orbit multi-module replacement task is performed, and several key operation points of each module replacement task are represented as task points; mathematical modeling and constraint construction of the dual-arm system are performed.

[0096] Specifically, the multi-module replacement task is simplified into a task point set P composed of the task points, and P is mathematically represented as: P = {p1, p2, ..., p i ,…,p n},i=1,2,…,n. Among them, p i is a tuple that mathematically represents the attributes of the i-th task point:

[0097] p i =(pose i ,priority i ,request i ,duration i ).

[0098] Among them, pose i Indicates the end pose requirement of the i-th task point in the task point set for 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 The three-dimensional posture described by the Euler angle; priorityi Indicates the priority of the task point; request i Indicates the preconditions of the task point action on the environment and the robot arm, request i =(req_arm,req_node), req_arm indicates the state of the end of the robot arm required by the task point action, and req_node indicates the requirements for the relevant task point; duration i Indicates the duration that the robot arm takes to perform the grab module or release module operation at this task point.

[0099] For the physical properties and real-time status of each robot in the dual-arm system, the robot information set is mathematically represented as R = {r1, r2}, where r1 and r2 are tuples of the first and second robot information respectively:

[0100]

[0101] Among them, pbase represents the base pose of the robot arm, which is described by position vector and Euler angle, 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 angle of each joint; status represents the working status of the robot arm. When the end effector is idle, the value is 0, and the tool or module can be captured at this time; when the end effector captures the tool or module, the value is the serial number of the tool or module; constraints represents the physical performance constraints of the robot arm, including the upper and lower limits of the joint angle, the joint speed limit, and the joint acceleration limit;

[0102] Step 102, decomposing the on-orbit multi-module replacement task; through the dynamic programming algorithm and the depth-first search algorithm, the task points are connected in series according to the constraints of the single module replacement task, and a task decomposition solution 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 follows: Figure 2 shown.

[0104] The first step is to initialize the state and priority of the task point, divide the multi-module replacement tasks from high to low according to the task priority, and define multiple sub-problems; use the dynamic programming method to decompose each sub-problem, define the DP state to store the local module replacement task set {π}; the second step is to use the depth-first search algorithm to reversely find a task point sequence π that completes the module replacement for each module replacement task in the sub-problem. i ; Step 3: Merge π iThe constraint requirements and final state of each task point on the related task points are compared with the constraint set and the state set; if π i If the constraint requirement of π conflicts with the final state of any task point sequence in {π}, then π is swapped. i With π j ; If π i If the constraint requirement does not conflict with {π}, then π i Add to the set {π}; if π i If the final state of {π} conflicts with the constraints of any task point sequence in {π}, then i Add the alternative set; Step 4, when all module replacement task sequences of the sub-problem are traversed, update the local module replacement task set {π} and DP state to be empty, and iterate the third step on the alternative set until the alternative set is empty; at this point, the decomposition of a sub-problem is completed; Step 5, iterate the second to fourth steps until the decomposition of all sub-problems is completed.

[0105] Step 103, considering multiple optimization objectives and constraints, constructing a dual-arm task allocation and scheduling model for the multi-module replacement task, solving it based on an intelligent optimization algorithm, and obtaining a dual-arm action sequence solution set.

[0106] Specifically, the dual-arm action sequence solution process based on the hybrid NSGA-II and MOPSO algorithm is as follows: Figure 3 First, the population is randomly initialized, and the following formula is used to calculate all the objective function values ​​of each individual in the population:

[0107]

[0108] Among them, the decision vector p tasks represents the set of dual-arm task point sequences, which can be divided into the sequence p of the first robotic arm task1 and the sequence p of the second robot arm task2 The optimization objective functions f1, f2, and f3 represent the motion performance, task time, and load balance indicators, respectively.

[0109] Each individual sequence in the population is checked according to the following formula:

[0110] min||p Δ1 -p Δ2 ||2>d min

[0111] st p Δ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] Among them, Δ(p taski ,p taskj ,p base1 ) represents the approximate area of ​​the motion envelope space of the robot arm passing through adjacent task points, ||p i -p j ||2 is the Euclidean distance between any set of points in the approximate area of ​​the double-arm motion envelope space, which is required to be greater than the set safety distance threshold d min .

[0114] According to the following formula, the current population is non-dominated and the dominance relationship between individuals is recorded.

[0115]

[0116] All individuals that are not dominated by any individual are classified as the first frontier; traverse the set of individuals they dominate, and classify the individuals that are only dominated by the upper frontier into the next frontier, and repeat the iteration to generate new frontiers until all individuals are assigned to the corresponding frontiers.

[0117] The crowding distance of individuals in each frontier is calculated. For each objective function, all individuals in the frontier are sorted according to the value of the objective; the crowding distance of the first and last individuals in each objective is set to positive infinity to ensure that the boundary individuals are retained first in the selection process:

[0118] d(p1)=d(p N )=∞

[0119] Among them, p1 and p N Indicates the first and last individuals in the target.

[0120] For each internal individual in the frontier, the normalized distance between the differences in its neighboring target values ​​on each target is calculated:

[0121]

[0122] The crowding distances on all targets are added together to obtain the total crowding distance for each individual.

[0123]

[0124] Among them, p j+1 and pj-1 Indicates the current solution p j Two solutions that are adjacent in the sorted list.

[0125] Individuals are selected from large to small according to the frontier level and crowding distance until the number of individuals reaches the population size to form a new parent population.

[0126] Perform crossover and mutation operations on the upper half of the parent population to generate the offspring population. Use sequential crossover to cross multiple individual sequences. First, randomly select two crossover points in the two parent individuals, and in the first parent individual, copy the sequence between the two crossover points to the same position of the offspring. This ensures that the offspring individuals inherit part of the parent individual's sequence while retaining its order. Then, fill in the remaining positions of the offspring individuals from the sequence of the second parent individual in the order of appearance. Use exchange mutation to introduce diversity while maintaining individual feasibility. Randomly select two positions in the individual's sequence and exchange the codes at these two positions.

[0127] The non-dominated individuals of the parent population are stored in an external archive. The target space is divided into multiple grids. The probability of selecting individuals in the external archive is allocated in each grid according to the crowding distance. A roulette wheel is used to select a leader to guide the search direction of the individuals in the lower half of the parent population. For individuals with discrete ordered sequence properties, the speed and position updates are defined as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence. First, the difference between the current individual sequence and the local optimal individual sequence is identified, and the element pairs that need to be exchanged are generated according to a certain probability; then, the exchange pairs are merged, and the elements of the current individual sequence are exchanged in sequence to generate the offspring individuals.

[0128] Merge the parent individuals and offspring individuals of the upper and lower populations respectively, calculate the objective function value and non-dominated sorting level of the individuals, and when the number of individuals in the population exceeds the population size limit, remove the individuals with lower rankings, repeat the above steps until the preset maximum number of iterations is reached, and obtain the Pareto solution set from the final population.

[0129] The algorithm hyperparameters of the above steps are shown in Table 1. The iteration process and Pareto solution set results are shown in Table 1. Figures 4 to 7 shown.

[0130] Table 1. Hyper parameters of hybrid NSGA-II and MOPSO algorithms

[0131]

[0132] Step 104, using the superior and inferior solution distance method to evaluate the dual-arm motion sequence solution set, to achieve sorting of the dual-arm motion sequence solution set, and to obtain an ideal optimal solution for dual-arm motion sequence planning.

[0133] Specifically, the three evaluation indicators of the Pareto solution set target space are arranged horizontally, and the N evaluation objects are arranged vertically to form a matrix. Let f ij For the jth optimization target value of the ith solution, perform the following normalization:

[0134]

[0135] Then, each indicator is positively transformed as follows:

[0136]

[0137] Set the weight coefficient w of each optimization objective and calculate the score of the solution as

[0138]

[0139] According to the scores from high to low, the Pareto solution set is sorted, as shown in Table 2, and the optimal solution for action sequence planning under ideal conditions is obtained, that is, solution No. 7. Among them, the motion performance of the optimal solution is 9.1696, which is 7.74% higher than the average level of the Pareto solution set; the task time of the optimal solution is 738 seconds, which is 12.98% higher than the average level of the Pareto solution set; the load balancing index of the optimal solution is 9.1696, which is 2.28% higher than the average level of the Pareto solution set.

[0140] Table 2 Pareto solution set in the target space

[0141]

[0142]

[0143] The technical solution of the embodiment of the present invention has the following beneficial effects:

[0144] Task modeling and dual-arm system modeling were carried out for the action sequence planning problem of dual-arms performing multi-module replacement tasks; large-scale problems were divided into multiple batches of small-scale problems through task decomposition based on task constraints to improve the efficiency of sequence planning; the hybrid NSGA-II and MOPSO algorithms were used to optimize the dual-arm action sequence in terms of motion performance, total task time, and load balancing ratio. The superior and inferior solution distance method was used to achieve the sorting and optimization of solution sets under different indicator weights, thereby improving the execution efficiency and reliability of the planning scheme and reducing the failure rate of the dual-arm system.

[0145] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

[0146] The contents not described in detail in the specification of the present invention belong to the common knowledge of 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 mathematically models the on-orbit multi-module replacement task, represents several key operation points of each module replacement task as task points; mathematically models the dual-arm system and constructs constraints; Step S2 decomposes the on-orbit multi-module replacement task; through the dynamic programming algorithm and the depth-first search algorithm, the task points are connected in series 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; Step S3 considers multiple optimization objectives and constraints, builds a dual-arm task allocation and scheduling model for multi-module replacement tasks, solves based on an intelligent optimization algorithm, and obtains a dual-arm action sequence solution set; Step S4 uses a superior-inferior solution distance method to evaluate the dual-arm motion sequence solution set, sort the dual-arm motion sequence solution set, and obtain an ideal optimal solution for dual-arm motion sequence planning.

2. The method according to claim 1, characterized in that The step S1 comprises: Step S1.1 simplifies the multi-module replacement task into a task point set P consisting of the task points, and mathematically represents P as follows: P = {p1, p2, ..., p i ,…,p n }, i = 1, 2, ..., n; where pi is a tuple that mathematically represents the attributes of the i-th task point, p i =(pose i ,priority i ,request i ,duration i ); Among them, pose i Indicates the end pose requirement of the i-th task point in the task point set for 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 The three-dimensional posture described by the Euler angle; priority i Indicates the priority of the task point; request i Indicates the preconditions of the task point action on the environment and the robot arm, request i =(req_arm,req_node), req_arm indicates the state of the end of the robot arm required by the task point action, and req_node indicates the requirements for the relevant task point; duration i Indicates the duration of the robot arm executing the grab module or release module operation at the task point; Step S1.2 For the physical properties and real-time status of each robot in the dual-arm system, the robot information set is mathematically represented as R = {r1, r2}, where r1 and r2 are tuples of the first robot information and the second robot information, respectively. Among them, pbase represents the base pose of the robot arm, which is described by position vector and Euler angle, Pbase = (x, y, z, rz, ry, rx); connections contains the connection relationship between the joints of the robot arm; config represents the real-time configuration of the robot arm, including the rotation angle of each joint; status represents the working status of the robot arm. When the end effector is idle, the value is 0, and the tool or module can be captured at this time; 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 joint angles, joint speed limits, and joint acceleration limits.

3. The method according to claim 1, characterized in that The step S2 comprises: Step S2.1 initializes the status and priority of the task point, divides the multi-module replacement tasks from high to low according to the task priority, and defines multiple sub-problems; Step S2.2 uses the dynamic programming method to decompose each sub-problem and define the DP state to store the local module replacement task set {π}; for each module replacement task in the sub-problem, use the depth-first search algorithm to reversely find a task point sequence π that completes the module replacement i ; Step S2.3 Merge π i The constraint requirements and final state of each task point on the related task points are compared with the constraint set and the state set; if π i If the constraint requirement of π conflicts with the final state of any task point sequence in {π}, then π is swapped. i With π j ; If π i If the constraint requirement does not conflict with {π}, then π i Add to the set {π}; if π i If the final state of {π} conflicts with the constraints of any task point sequence in {π}, then i Add to alternative collection; Step S2.4: When all module replacement task sequences of the sub-problem are traversed, the local module replacement task set {π} and the DP state are updated to be empty, and step S2.3 is iteratively performed on the candidate set until the candidate set is empty; at this point, the decomposition of a sub-problem is completed; Step S2.5 iteratively executes steps S2.2 to S2.4 until all sub-problems are decomposed.

4. The method according to claim 1, characterized in that: The step S3 comprises: Step S3.1 defines the dual-arm task allocation and scheduling problem for multi-module replacement tasks. The premise is as follows: each robotic arm can only operate one module at a time, and the transfer operation of each module is completed by a single robotic arm. At the same time, there are priority order constraints between multiple modules. Step S3.2 constructs a dual-arm task allocation and scheduling model that considers multiple objectives, sets optimization goals, and establishes constraints; Step S3.2.1 defines the motion performance of the robot at each task point, the total task time, and the load balance ratio as three optimization objectives; (1) Sports performance The smooth execution of module removal and installation depends on the motion ability of the robot at the task point; since the robot controls the motion state of the end of the robot by controlling the rotation angle of the joint, the Jacobian matrix J can be used to describe the angular velocity vector of the robot joint and the terminal motion velocity vector The mapping relationship between them is: The condition number of the Jacobian matrix can be used as a quantitative indicator of the dexterity of the robot arm to evaluate the ability of the end to reach a specified position in any direction. It is defined as follows: In the formula, 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 mean of the condition number of the Jacobian matrix corresponding to the task point where the robot passes through: (2) Total task time The task time not only includes the transfer time of the robot arm between task points, but also the operation time of the robot arm. To simplify the task time solution process, the distance between task points is divided by the maximum speed limit of the robot end to estimate the transfer time, and the transfer process time is defined as: Among them, ||p i -p j ||2 is the Euclidean distance between adjacent work points, v limit is the maximum speed limit of the end of the robot arm; The operation time of the robot arm at the task point mainly depends on factors such as the task complexity at that point and the execution efficiency of the tool at the end of the robot arm. The operation time t of the robot arm at each task point is approximately estimated. work , calculate the operation time according to the task point sequence; In summary, the task time of the robot arm is the sum of the time taken for each transfer process and the time taken for the operation. The total task time indicator of the dual-arm system depends on the task time of the robot arm with the longest time. (3) Load balancing ratio Since the robot arm is mainly in a small-range visual servo mode or follow-up mode at the task point, the movement distance can be ignored compared to the transfer process. Therefore, the ratio of the maximum and minimum transfer time of the robot arm in the dual-arm system is used as the load balancing ratio: The closer the load balance ratio is to 1, the more balanced the distribution of tasks among the robotic arms is, and the workload of each robotic arm is almost the same, which reduces the potential problems caused by excessive tasks on a single robotic arm; Step S3.2.2 approximates the motion envelope space of the robot arm passing through the adjacent working points by connecting the adjacent task points with the area enclosed by the lines from the robot arm to the two working points, and establishes constraints on the motion envelope space of the two arms as follows: my||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 ) Among them, Δ(p taski ,p taskj ,p base1 ) represents the approximate area of ​​the motion envelope space of the robot arm passing through adjacent task points, ||p i -p j ||2 is the Euclidean distance between any set of points in the approximate area of ​​the double-arm motion envelope space, which is required to be greater than the set safety distance threshold d min ; Step S3.2.3 combines steps S3.2.1 and S3.2.2 to define the dual-arm task allocation and scheduling model as: Among them, the decision vector p tasks represents the set of dual-arm task point sequences, which can be divided into the task point sequence p of the first robotic arm task1 and the task point sequence p of the second robot arm task2 ; Step S3.3 uses the hybrid NSGA-II and MOPSO algorithm to solve the action sequence of the dual-arm multi-module replacement task. The algorithm flow is as follows: Step S3.3.1 randomly generates an initial population, where each individual is a one-dimensional vector mapped from a two-dimensional matrix consisting of the action sequences of the two arms, containing ordered information about the action sequences of the two arms and the random position of each individual in the decision space; calculates the values ​​of all objective functions for each individual in the population; creates an external archive, which is subsequently used to store all non-dominated individuals in the current iteration and maintain the approximate solution set of the Pareto frontier; Step S3.3.2 performs non-dominated sorting on 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 is superior to q in at least one objective, then record that p dominates q, that is, Traverse all individuals in the population again, record all individuals that are not dominated by any individual, and classify them as the first frontier; for each individual in the current frontier, traverse the set of individuals it dominates, and for each individual dominated by the current frontier individual, reduce its domination count. If the domination count of a dominated individual is reduced to zero, it means that the individual is no longer dominated by any unprocessed frontier individual. The individual is classified into the next frontier, and new frontiers are generated repeatedly until all individuals are assigned to the corresponding frontiers; according to the ranking of the non-dominated frontier, the population is divided into the upper half and the lower half; the upper half contains the non-dominated frontier with a higher ranking, which is used to explore the global optimal solution; and the lower half contains the individuals with a lower ranking, which is used for local search and utilization of existing information; Step S3.3.3 calculates the crowding distance d(p i ) calculation, for each objective function, all individuals in the frontier are sorted according to the value of the objective; the crowding distance of the first and last individuals in each objective is set to infinity to ensure that the frontier individuals are preferentially retained during the selection process: d(p1)=d(p N )=∞ Among them, p1 and p N Indicates the first and last individuals in the target ranking; For each individual in the frontier, the normalized distance between the differences in its neighboring objective values ​​on each objective function is calculated: Add up the crowding distances on all targets to get the total crowding distance of each individual; Among them, p i+1 and p i-1 Indicates the current solution p i Two solutions that are adjacent in the sorted list; Step S3.3.4: In the same frontier level, individuals are selected from large to small according to the crowding distance until the number of individuals reaches the population size to form a new parent population; Step S3.3.5 performs crossover and mutation operations on the upper half of the parent population to generate a child population, and uses sequential crossover to cross multiple individual sequences; first, randomly select two crossover points in the two parent individuals, and in the first parent individual, copy the sequence between the two crossover points to the same position of the child; this ensures that the child individual inherits part of the parent individual's sequence while retaining its order; then, the remaining positions of the child individual are filled in the order of appearance from the sequence of the second parent individual; exchange mutation is used to introduce diversity while maintaining individual feasibility; randomly select two positions in the individual sequence to exchange codes; Step S3.3.6 stores the non-dominated individuals of the parent population in an external archive; divides the target space into multiple grids, allocates the probability of selecting individuals in the external archive in each grid according to the crowding distance, and uses roulette to select a leader to guide the search direction of the individuals in the lower half of the parent population; for individuals with discrete ordered sequence attributes, defines speed and position updates as a series of exchange transformation operations from the current individual sequence of the parent to the target sequence, first, identifies the difference between the current individual sequence and the local optimal individual sequence, and generates pairs of elements that need to be exchanged according to a certain probability; then, merges the exchange pairs, exchanges the elements of the current individual sequence in turn, and generates offspring individuals; Step S3.3.7 merges the parent individuals and child individuals of the upper and lower populations respectively, calculates the objective function value and non-dominated sorting level of the individuals, and when the number of individuals in the population exceeds the population size limit, removes the individuals with lower rankings, and repeats steps S3.3.4 to S3.3.7 until the preset maximum number of iterations is reached, and the Pareto solution set is obtained from the final population.

5. The method according to claim 1, characterized in that: The step S4 comprises: Step S4.1 Arrange the three evaluation indicators of the Pareto solution set target space obtained in step S3.3.7 horizontally, and arrange the N evaluation objects vertically to form a matrix. Let f ij is the jth optimization target value of the ith solution, and the matrix is Step S4.2: Matrix F 3N Perform standardization to obtain the standardized matrix F3' N , to eliminate the influence of different indicator dimensions, the standardized matrix element is denoted as f ij ',have Step S4.3: Forward each index to unify the index type. The matrix element after forward transformation is denoted as f ij ",have Among them, min(f j '), max(f j ') is the minimum and maximum value 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 i-th solution is Step S4.5 sorts the Pareto solution set according to the scores from high to low, and the solution corresponding to the highest score is the optimal solution for the dual-arm action sequence planning under ideal conditions.

Citation Information

Patent Citations

  • Route planning method based on multi-target glowworm swarm algorithm

    CN102768536A

  • 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

  • Mechanical arm collision detection method

    CN112179602A

  • Hybrid scheduling method based on maximum consumption of new energy and optimal power generation cost

    CN114362241A