CN116922402A - Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium - Google Patents

Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium Download PDF

Info

Publication number
CN116922402A
CN116922402A CN202311203203.6A CN202311203203A CN116922402A CN 116922402 A CN116922402 A CN 116922402A CN 202311203203 A CN202311203203 A CN 202311203203A CN 116922402 A CN116922402 A CN 116922402A
Authority
CN
China
Prior art keywords
task
mechanical arm
population
genetic algorithm
task queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311203203.6A
Other languages
Chinese (zh)
Inventor
李清蕾
杨旭
王玉朋
李博
陈旺怡
陈鹏
陈立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Core Control Intelligent Technology Co ltd
Original Assignee
Hangzhou Core Control Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Core Control Intelligent Technology Co ltd filed Critical Hangzhou Core Control Intelligent Technology Co ltd
Priority to CN202311203203.6A priority Critical patent/CN116922402A/en
Publication of CN116922402A publication Critical patent/CN116922402A/en
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • General Factory Administration (AREA)

Abstract

The application discloses a genetic algorithm-based multi-mechanical arm multi-task distribution method, a system and a medium, wherein the method comprises the following steps: initializing a task queue to generate a shared task queue; initializing genetic algorithm populations, setting population quantity and maximum iteration times, and outputting optimal task queue numbers of all mechanical arms if iteration termination conditions are met, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; selecting a population with the minimum total cost of the iteration times of the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; and judging whether the current iteration number reaches the maximum iteration number. The application can solve the problems of low scheduling efficiency of collaborative operation of multiple mechanical arms, incapability of adapting to complex changes of working environments and the like.

Description

Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium
Technical Field
The application relates to the technical field of mechanical arm control, in particular to a multi-mechanical arm multi-task distribution method, a multi-mechanical arm multi-task distribution system and a multi-mechanical arm multi-task distribution medium based on a genetic algorithm.
Background
At present, in the modern industrial production and service fields, the multi-mechanical arm cooperative operation has been widely applied, and has the advantages of improving the production efficiency, reducing the cost, reducing the human error and the like. In the actual operation process, how to implement the collaborative work scheduling of multiple mechanical arms becomes one of the technical difficulties due to the increased number of mechanical arms, complicated tasks, limited environmental information and the like.
Disclosure of Invention
The application aims to overcome the technical defects, and provides a multi-mechanical arm multi-task distribution method, a multi-mechanical arm multi-task distribution system and a multi-mechanical arm multi-task distribution medium based on a genetic algorithm, which can solve the problems that the scheduling efficiency of cooperative work of a plurality of mechanical arms is low, complex changes of a working environment cannot be adapted and the like in the prior art.
In order to achieve the above technical objective, in a first aspect, the present application provides a multi-mechanical arm multi-task allocation method based on a genetic algorithm, which includes the following steps:
initializing a task queue to generate a shared task queue;
initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms:
distributing the corresponding task numbers in the shared task queue to each mechanical arm;
counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage;
updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration;
and judging whether the current iteration number reaches the maximum iteration number.
Compared with the prior art, the multi-mechanical arm multi-task allocation method based on the genetic algorithm has the beneficial effects that:
the multi-mechanical arm multi-task distribution method based on the genetic algorithm can solve the problems that the scheduling efficiency of the cooperative operation of the multi-mechanical arm is low, the manual intervention is more, the complex change of the working environment cannot be adapted and the like in the prior art. In the aspect of task allocation and scheduling, an optimization algorithm based on a genetic algorithm is introduced, automatic optimization of task allocation and scheduling of multiple mechanical arms is realized, in the aspect of unmanned teaching, unmanned teaching is carried out on the mechanical arms, so that the mechanical arms can accurately and efficiently finish tasks in a complex environment, meanwhile, the full liberation of workers is realized, and the method has the advantages of high efficiency, automation and the like, and is expected to be widely applied to various industrial production and service fields.
The application provides a multi-mechanical arm multi-task distribution method based on a genetic algorithm, which can automatically distribute corresponding processing task numbers to mechanical arms according to the positions of processing track sections and the processing positions of the mechanical arms, automatically calculate the motion track of the mechanical arms in the processing process and reduce the task and teaching distribution for the mechanical arms manually.
The application comprehensively considers the time required by the mechanical arm during processing and the total motion quantity of the mechanical arm in the whole processing process, and the task distribution mode can enable the motion of the mechanical arm to be more efficient, thereby improving the processing efficiency and the production benefit. Therefore, the task distribution mode has high practicability and economic benefit, and is beneficial to improving the production efficiency and quality of the production line. According to the application, a collision-free obstacle avoidance path planning module is added in a transition path section between tasks; a feasible collision-free path is rapidly calculated by using a path planning algorithm, so that the mechanical arm can safely complete the task of the transition path section.
According to some embodiments of the present application, initializing a task queue includes the steps of:
judging whether the mechanical arm cannot work in the current task according to the task position and the position of the mechanical arm;
if the current task has the condition that the mechanical arm cannot work, marking the current task as a marking task, and recording the model of the unreachable mechanical arm;
and if the current task does not have the condition that the mechanical arm cannot work, adding the current task to the shared task queue.
According to some embodiments of the present application, assigning the corresponding task number in the shared task queue to each mechanical arm includes the steps of:
randomly initializing a task number sequence in the shared task queue;
distributing corresponding task numbers in the shared task queue to the mechanical arms according to the generated dividing points of the shared task queue, and randomly distributing the numbers of the marking tasks to the mechanical arms capable of executing the marking tasks;
and sequencing the tasks in the shared task queue according to the Euclidean distance between the task position and the mechanical arm.
According to some embodiments of the present application, the working costs of each mechanical arm are counted, and the total costs of each population are calculated according to the working costs of each mechanical arm, including the steps of:
calculating the sum of working paths of the mechanical arm, and calculating the sum of working time of the mechanical arm for completing each processing task under the constraint of given speed acceleration and jerk;
counting the sum of working paths processed by the mechanical arm and the sum of working time to obtain the working cost of the mechanical arm;
and counting the sum of the working costs of the mechanical arms in the population to obtain the total cost of the population.
According to some embodiments of the application, the total cost of each population is calculated, and the analytical formula is as follows:
wherein, the range of the task number i is 1,2,3 …, n, the range of the mechanical arm number j is 1,2,3 …, m,for working path->Is the working time.
According to some embodiments of the application, calculating a sum of working paths of the robot arm process comprises the steps of:
calculating to obtain a work motion track processed by the mechanical arm and an obstacle avoidance track between tasks;
and adding the working motion track and the obstacle avoidance track between the tasks to obtain the sum of working paths processed by the mechanical arm.
According to some embodiments of the application, updating a chromosomal coding of a population of genetic algorithms comprises the steps of:
and randomly generating two individual division points as designated task points, turning over other task number sequences before the two designated task points, randomly selecting task numbers for migration, and randomly selecting task numbers for exchange.
In a second aspect, the present application provides a multi-mechanical arm multi-task allocation system based on a genetic algorithm, including:
the queue initialization module is used for initializing the task queue to generate a shared task queue;
the system comprises a population initialization module, a genetic algorithm population analysis module and a task management module, wherein the population initialization module is used for initializing genetic algorithm populations, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms:
the task allocation module is used for allocating the corresponding task numbers in the shared task queue to the mechanical arms;
the cost calculation module is used for counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times of each time according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution to be stored;
the population updating module is used for updating the chromosome codes of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration;
the iteration number judging module is used for judging whether the current iteration number reaches the maximum iteration number or not;
and the result output module is used for outputting the optimal task queue number of each mechanical arm if the maximum iteration number is reached.
In a third aspect, the present application provides a computer-readable storage medium storing computer-executable instructions for causing a computer to perform the genetic algorithm-based multi-arm multi-tasking method according to any one of the first aspects.
Additional aspects and advantages of the application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the application.
Drawings
The foregoing and/or additional aspects and advantages of the present application will become apparent and may be better understood from the following description of embodiments taken in conjunction with the accompanying drawings, in which the summary drawings are to be fully consistent with one of the drawings of the specification:
FIG. 1 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to an embodiment of the present application;
FIG. 2 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to another embodiment of the present application;
FIG. 3 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to another embodiment of the present application;
FIG. 4 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to another embodiment of the present application;
fig. 5 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to another embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
It should be noted that although functional block diagrams are depicted as block diagrams, and logical sequences are shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the block diagrams in the system. The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
Embodiments of the present application will be further described below with reference to the accompanying drawings.
Referring to fig. 1 and 5, fig. 1 is a flowchart of a multi-mechanical arm multi-task allocation method based on a genetic algorithm according to an embodiment of the present application; fig. 5 is a flowchart of a multi-arm multi-task allocation method based on a genetic algorithm according to another embodiment of the present application. The genetic algorithm-based multi-arm multi-tasking method includes, but is not limited to, steps S110 to S160.
Step S110, initializing a task queue to generate a shared task queue;
step S120, initializing the genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting the optimal task queue number of each mechanical arm, wherein the optimal task queue number is used for distributing tasks for each mechanical arm:
step S130, corresponding task numbers in the shared task queue are distributed to the mechanical arms;
step S140, working costs of all the mechanical arms are counted, total costs of all the groups are calculated according to the working costs of all the mechanical arms, the group with the smallest total cost of iteration times in the past is selected according to the total costs of all the groups, and the optimal task queue number of all the mechanical arms is used as an optimal solution to be stored;
step S150, updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration;
step S160, judging whether the current iteration number reaches the maximum iteration number.
In one embodiment, the genetic algorithm-based multi-arm multi-task allocation method includes the steps of: initializing a task queue to generate a shared task queue; initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; judging whether the current iteration number reaches the maximum iteration number, and if so, outputting the optimal task queue number of each mechanical arm.
1. The task queue is initialized. And according to the position of the task and the position of the mechanical arm, determining whether the current task has the condition that the mechanical arm cannot work, if so, marking the task, and determining the model of the unreachable mechanical arm, and if not, adding the task to a shared task queue.
2. Initializing a population. Setting population and iteration times. The task number sequence in the shared task queue is initialized randomly, corresponding task numbers in the task queue are distributed to all the mechanical arms according to the generated task queue dividing points, and the marked task numbers are distributed to the mechanical arms capable of executing the task randomly. And sequencing the tasks in the task queues of the mechanical arms according to the Euclidean distance between the tasks and the mechanical arms.
3. And calculating the working cost of each mechanical arm and the total cost of each group. Firstly calculating the sum of working paths of machining of each mechanical arm, and secondly calculating the sum of time for each mechanical arm to finish each machining task under the constraint of given speed acceleration and jerk;
wherein, the range of the task number i is 1,2,3 …, n, the range of the mechanical arm number j is 1,2,3 …, m,: work path->: working time.
4. And selecting the population with the minimum current iteration frequency cost according to the total cost value of each population, and storing the population as an optimal solution.
5. Chromosome coding of the genetic algorithm is updated by adopting a tournament method. And randomly generating individual division points, turning over other task number sequences before two task points are designated, randomly selecting task numbers for migration, and randomly selecting task numbers for exchange.
6. Updating the population. And loading the recoded individuals into a new population for the next iteration.
7. And judging whether the maximum iteration times are reached. If the maximum iteration number is reached, the loop is exited, the optimal task queue number of each mechanical arm is output, and otherwise, the iteration calculation is restarted.
According to the multi-mechanical arm multi-task distribution method based on the genetic algorithm, corresponding processing task numbers can be automatically distributed to the mechanical arms according to the positions of the processing track sections and the processing positions of the mechanical arms, and the motion track of the mechanical arms in the processing process can be automatically calculated. The task and teaching of the mechanical arm is manually distributed. According to the embodiment, the time required by machining the mechanical arm and the total movement amount of the mechanical arm in the whole machining process are comprehensively considered, the task distribution mode can enable the movement of the mechanical arm to be more efficient, so that the machining efficiency and the production benefit are improved, meanwhile, for a production line for machining by using the mechanical arm, the beat time and the total movement amount are two very important indexes, and by considering the two indexes, the automatic production and the optimized machining flow on the production line can be better realized. Therefore, the task distribution mode has high practicability and economic benefit, and is beneficial to improving the production efficiency and quality of the production line.
Referring to fig. 2, fig. 2 is a flowchart of a multi-robot multi-task allocation method based on a genetic algorithm according to another embodiment of the present application; the genetic algorithm-based multi-arm multi-tasking method includes, but is not limited to, steps S210 to S220.
Step S210, judging whether the mechanical arm cannot work in the current task according to the task position and the position of the mechanical arm;
step S220, if the current task has the condition that the mechanical arm cannot work, marking the current task as a marking task, and recording the model of the unreachable mechanical arm; if the current task does not have the condition that the mechanical arm cannot work, the current task is added to the shared task queue.
In one embodiment, the genetic algorithm-based multi-arm multi-task allocation method includes the steps of: initializing a task queue to generate a shared task queue; initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; judging whether the current iteration number reaches the maximum iteration number, and if so, outputting the optimal task queue number of each mechanical arm.
Initializing a task queue, comprising the following steps: judging whether the mechanical arm cannot work in the current task according to the task position and the position of the mechanical arm; if the current task has the condition that the mechanical arm cannot work, marking the current task as a marking task, and recording the model of the unreachable mechanical arm; if the current task does not have the condition that the mechanical arm cannot work, the current task is added to the shared task queue. And if the subtask has the mechanical arm with the unique corresponding model, distributing the subtask to the mechanical arm with the corresponding model.
Referring to fig. 3, fig. 3 is a flowchart of a multi-robot multi-task allocation method based on a genetic algorithm according to another embodiment of the present application; the genetic algorithm-based multi-arm multi-tasking method includes, but is not limited to, steps S310 to S330.
Step S310, randomly initializing a task number sequence in a shared task queue;
step S320, according to the generated dividing points of the shared task queue, the corresponding task numbers in the shared task queue are distributed to the mechanical arms, and the numbers of the marking tasks are randomly distributed to the mechanical arms capable of executing the marking tasks;
step S330, sorting the tasks in the shared task queue according to the Euclidean distance between the task position and the mechanical arm.
In one embodiment, the genetic algorithm-based multi-arm multi-task allocation method includes the steps of: initializing a task queue to generate a shared task queue; initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; judging whether the current iteration number reaches the maximum iteration number, and if so, outputting the optimal task queue number of each mechanical arm.
Initializing a task queue, comprising the following steps: judging whether the mechanical arm cannot work in the current task according to the task position and the position of the mechanical arm; if the current task has the condition that the mechanical arm cannot work, marking the current task as a marking task, and recording the model of the unreachable mechanical arm; if the current task does not have the condition that the mechanical arm cannot work, the current task is added to the shared task queue. The task numbers corresponding to the shared task queues are distributed to the mechanical arms, and the method comprises the following steps: randomly initializing a task number sequence in a shared task queue; distributing corresponding task numbers in the shared task queue to the mechanical arms according to the generated dividing points of the shared task queue, and randomly distributing the numbers of the marking tasks to the mechanical arms capable of executing the marking tasks; and sequencing the tasks in the shared task queue according to the Euclidean distance between the task position and the mechanical arm.
Referring to fig. 4, fig. 4 is a flowchart of a multi-robot multi-task allocation method based on a genetic algorithm according to another embodiment of the present application; the genetic algorithm-based multi-arm multi-tasking method includes, but is not limited to, steps S410 to S430.
Step S410, calculating the sum of working paths of mechanical arm processing, and calculating the sum of working time of the mechanical arm for completing each processing task under the constraint of given speed acceleration and jerk;
step S420, counting the sum of working paths and the sum of working time of mechanical arm processing to obtain the working cost of the mechanical arm;
and S430, counting the sum of the working costs of the mechanical arms in the population to obtain the total cost of the population.
In one embodiment, the genetic algorithm-based multi-arm multi-task allocation method includes the steps of: initializing a task queue to generate a shared task queue; initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; judging whether the current iteration number reaches the maximum iteration number, and if so, outputting the optimal task queue number of each mechanical arm.
The working cost of each mechanical arm is counted, and the total cost of each group is calculated according to the working cost of each mechanical arm, comprising the following steps: calculating the sum of working paths of mechanical arm processing, and calculating the sum of working time of the mechanical arm for completing each processing task under the constraint of given speed acceleration and jerk; counting the sum of working paths and working time of mechanical arm processing to obtain the working cost of the mechanical arm; and counting the sum of the working costs of the mechanical arms in the population to obtain the total cost of the population.
Further, the total cost of each population is calculated, and the analytical formula is as follows:
wherein, the range of the task number i is 1,2,3 …, n, the range of the mechanical arm number j is 1,2,3 …, m,: work path->: working time.
Further, calculating a working path sum of the mechanical arm processing, including the steps of: calculating to obtain a work motion track processed by the mechanical arm and an obstacle avoidance track between tasks; and adding the working motion track and the obstacle avoidance track between tasks to obtain the sum of working paths of mechanical arm processing.
In one embodiment, the genetic algorithm-based multi-arm multi-task allocation method includes the steps of: initializing a task queue to generate a shared task queue; initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms: allocating the corresponding task numbers in the shared task queue to each mechanical arm; counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage; updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; judging whether the current iteration number reaches the maximum iteration number, and if so, outputting the optimal task queue number of each mechanical arm.
Updating the chromosomal coding of a population of genetic algorithms, comprising the steps of: two individual division points are randomly generated to serve as designated task points, other task number sequences before the two designated task points are turned over, task numbers are randomly selected to migrate, and task numbers are randomly selected to exchange.
In one embodiment, a genetic algorithm-based multi-robot multi-task dispensing system includes: the queue initialization module is used for initializing the task queue to generate a shared task queue; the population initializing module is used for initializing genetic algorithm populations, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, outputting optimal task queue numbers of the mechanical arms, and allocating tasks for the mechanical arms by the optimal task queue numbers: the task allocation module is used for allocating the corresponding task numbers in the shared task queue to the mechanical arms; the cost calculation module is used for counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times of each time according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution to be stored; the population updating module is used for updating the chromosome codes of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration; the iteration number judging module is used for judging whether the current iteration number reaches the maximum iteration number or not; and the result output module is used for outputting the optimal task queue number of each mechanical arm if the maximum iteration number is reached.
The memory, as a non-transitory computer readable storage medium, may be used to store non-transitory software programs as well as non-transitory computer executable programs. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory remotely located relative to the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The apparatus embodiments described above are merely illustrative, in which the elements illustrated as separate components may or may not be physically separate, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
Furthermore, an embodiment of the present application provides a computer readable storage medium storing computer executable instructions, where the computer executable instructions are executed by a processor or a controller, for example, by one of the processors in the above terminal embodiment, and cause the processor to perform the multi-arm multi-tasking method based on the genetic algorithm in the above embodiment.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
While the preferred embodiment of the present application has been described in detail, the present application is not limited to the above embodiment, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit of the present application, and these equivalent modifications and substitutions are intended to be included in the scope of the present application as defined in the appended claims.
The above-described embodiments of the present application do not limit the scope of the present application. Any other corresponding changes and modifications made in accordance with the technical idea of the present application shall be included in the scope of the claims of the present application.

Claims (9)

1. The multi-mechanical arm multi-task distribution method based on the genetic algorithm is characterized by comprising the following steps of:
initializing a task queue to generate a shared task queue;
initializing genetic algorithm population, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms:
distributing the corresponding task numbers in the shared task queue to each mechanical arm;
counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times in the past according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution for storage;
updating the chromosome coding of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration;
and judging whether the current iteration number reaches the maximum iteration number.
2. The genetic algorithm-based multi-arm multi-tasking method of claim 1 wherein initializing a task queue comprises the steps of:
judging whether the mechanical arm cannot work in the current task according to the task position and the position of the mechanical arm;
if the current task has the condition that the mechanical arm cannot work, marking the current task as a marking task, and recording the model of the unreachable mechanical arm;
and if the current task does not have the condition that the mechanical arm cannot work, adding the current task to the shared task queue.
3. The genetic algorithm-based multi-robot multi-task allocation method according to claim 2, wherein allocating the corresponding task number in the shared task queue to each robot comprises the steps of:
randomly initializing a task number sequence in the shared task queue;
distributing corresponding task numbers in the shared task queue to the mechanical arms according to the generated dividing points of the shared task queue, and randomly distributing the numbers of the marking tasks to the mechanical arms capable of executing the marking tasks;
and sequencing the tasks in the shared task queue according to the Euclidean distance between the task position and the mechanical arm.
4. The genetic algorithm-based multi-arm multi-task allocation method according to claim 1, wherein the step of counting the working costs of each arm and calculating the total cost of each population according to the working costs of each arm comprises the steps of:
calculating the sum of working paths of the mechanical arm, and calculating the sum of working time of the mechanical arm for completing each processing task under the constraint of given speed acceleration and jerk;
counting the sum of working paths processed by the mechanical arm and the sum of working time to obtain the working cost of the mechanical arm;
and counting the sum of the working costs of the mechanical arms in the population to obtain the total cost of the population.
5. The genetic algorithm-based multi-arm multi-task allocation method according to claim 4, wherein the total cost of each population is calculated, and the analytical formula is as follows:
wherein, the range of the task number i is 1,2,3 …, n, the range of the mechanical arm number j is 1,2,3 …, m,for working path->Is the working time.
6. The genetic algorithm-based multi-robot multi-task allocation method according to claim 4, wherein calculating a sum of working paths of the robot processing comprises the steps of:
calculating to obtain a work motion track processed by the mechanical arm and an obstacle avoidance track between tasks;
and adding the working motion track and the obstacle avoidance track between the tasks to obtain the sum of working paths processed by the mechanical arm.
7. The genetic algorithm-based multi-arm multiplexing distribution method according to claim 1, wherein updating the chromosome coding of the genetic algorithm population comprises the steps of:
and randomly generating two individual division points as designated task points, turning over other task number sequences before the two designated task points, randomly selecting task numbers for migration, and randomly selecting task numbers for exchange.
8. A genetic algorithm-based multi-robot multi-task dispensing system, comprising:
the queue initialization module is used for initializing the task queue to generate a shared task queue;
the system comprises a population initialization module, a genetic algorithm population analysis module and a task management module, wherein the population initialization module is used for initializing genetic algorithm populations, setting population quantity and maximum iteration times, repeatedly executing the following steps until the current iteration times reach the maximum iteration times, stopping iterative calculation, and outputting optimal task queue numbers of all mechanical arms, wherein the optimal task queue numbers are used for distributing tasks for all the mechanical arms:
the task allocation module is used for allocating the corresponding task numbers in the shared task queue to the mechanical arms;
the cost calculation module is used for counting the working cost of each mechanical arm, calculating the total cost of each population according to the working cost of each mechanical arm, selecting the population with the minimum total cost of iteration times of each time according to the total cost of each population, and taking the optimal task queue number of each mechanical arm as an optimal solution to be stored;
the population updating module is used for updating the chromosome codes of the genetic algorithm population, and loading the recoded individuals into a new population for the next iteration;
the iteration number judging module is used for judging whether the current iteration number reaches the maximum iteration number or not;
and the result output module is used for outputting the optimal task queue number of each mechanical arm if the maximum iteration number is reached.
9. A computer-readable storage medium storing computer-executable instructions for causing a computer to perform the genetic algorithm-based multi-arm multi-tasking method according to any of claims 1 to 7.
CN202311203203.6A 2023-09-19 2023-09-19 Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium Pending CN116922402A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311203203.6A CN116922402A (en) 2023-09-19 2023-09-19 Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311203203.6A CN116922402A (en) 2023-09-19 2023-09-19 Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium

Publications (1)

Publication Number Publication Date
CN116922402A true CN116922402A (en) 2023-10-24

Family

ID=88386530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311203203.6A Pending CN116922402A (en) 2023-09-19 2023-09-19 Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium

Country Status (1)

Country Link
CN (1) CN116922402A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005522A1 (en) * 2005-06-06 2007-01-04 Wren William E Resource assignment optimization using direct encoding and genetic algorithms
WO2016165392A1 (en) * 2015-04-17 2016-10-20 华南理工大学 Genetic algorithm-based cloud computing resource scheduling method
CN107168054A (en) * 2017-05-10 2017-09-15 沈阳工业大学 Multi-robotic task is distributed and paths planning method
CN107390684A (en) * 2017-07-14 2017-11-24 华南理工大学 A kind of auto-parts welding optimum path planning method of multirobot collaboration
CN111832725A (en) * 2019-04-15 2020-10-27 电子科技大学 Multi-robot multi-task allocation method and device based on improved genetic algorithm
CN111860984A (en) * 2020-07-06 2020-10-30 燕山大学 Multi-heterogeneous unmanned aerial vehicle task allocation method based on improved genetic algorithm
CN112163706A (en) * 2020-09-30 2021-01-01 北京理工大学 Hybrid optimization method for unmanned platform marshalling under search task
CN116737336A (en) * 2023-06-02 2023-09-12 哈尔滨工业大学(威海) Multi-unmanned ship task allocation method and system based on clustering genetic algorithm

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005522A1 (en) * 2005-06-06 2007-01-04 Wren William E Resource assignment optimization using direct encoding and genetic algorithms
WO2016165392A1 (en) * 2015-04-17 2016-10-20 华南理工大学 Genetic algorithm-based cloud computing resource scheduling method
CN107168054A (en) * 2017-05-10 2017-09-15 沈阳工业大学 Multi-robotic task is distributed and paths planning method
CN107390684A (en) * 2017-07-14 2017-11-24 华南理工大学 A kind of auto-parts welding optimum path planning method of multirobot collaboration
CN111832725A (en) * 2019-04-15 2020-10-27 电子科技大学 Multi-robot multi-task allocation method and device based on improved genetic algorithm
CN111860984A (en) * 2020-07-06 2020-10-30 燕山大学 Multi-heterogeneous unmanned aerial vehicle task allocation method based on improved genetic algorithm
CN112163706A (en) * 2020-09-30 2021-01-01 北京理工大学 Hybrid optimization method for unmanned platform marshalling under search task
CN116737336A (en) * 2023-06-02 2023-09-12 哈尔滨工业大学(威海) Multi-unmanned ship task allocation method and system based on clustering genetic algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕明哲: "《物流系统仿真》", 东北财经大学出版社, pages: 5 - 6 *

Similar Documents

Publication Publication Date Title
US20200019435A1 (en) Dynamic optimizing task scheduling
CN107036618A (en) A kind of AGV paths planning methods based on shortest path depth optimization algorithm
CN113128823A (en) Automatic guided vehicle management system and method
CN110837981B (en) Scheduling and control cooperative processing method and related equipment
CN112416585A (en) GPU resource management and intelligent scheduling method for deep learning
Zhang et al. A building-block-based genetic algorithm for solving the robots allocation problem in a robotic mobile fulfilment system
CN109472362A (en) A kind of AGV dynamic dispatching method and device based on variable task window
CN114169748A (en) Multi-robot task allocation method, system, device and readable storage medium
Hildebrandt et al. Supervised learning for arrival time estimations in restaurant meal delivery
CN111369009A (en) Distributed machine learning method capable of tolerating untrusted nodes
CN116224926A (en) Dynamic scheduling optimization method and device for single-piece small-batch flexible manufacturing workshops
CN115421448A (en) AGV (automatic guided vehicle) picking path planning method and system
Liu et al. Holonic manufacturing system for distributed control of automated guided vehicles
CN116922402A (en) Genetic algorithm-based multi-mechanical arm multi-task distribution method, system and medium
CN110233763B (en) Virtual network embedding algorithm based on time sequence difference learning
CN116151424B (en) Method for discharging among skip in multiple parks
CN116679636A (en) Logistics transfer robot task scheduling system and method
US11513866B1 (en) Method and system for managing resource utilization based on reinforcement learning
CN115062868B (en) Pre-polymerization type vehicle distribution path planning method and device
CN113254200A (en) Resource arrangement method and intelligent agent
Narapureddy et al. Optimal scheduling methodology for machines, tool transporter and tools in a multi-machine flexible manufacturing system without tool delay using flower pollination algorithm
CN117234952B (en) Distributed automatic test method and system
CN116205474B (en) AGV task allocation method and device for parking lot, electronic equipment and storage medium
Singh et al. Dispatching AGVs with battery constraints using deep reinforcement learning
Li et al. Risk-Based A*: Simulation Analysis of a Novel Task Assignment and Path Planning Method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination