CN112700025A - Coverage area allocation method and device, storage medium and electronic equipment - Google Patents

Coverage area allocation method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN112700025A
CN112700025A CN201911007423.5A CN201911007423A CN112700025A CN 112700025 A CN112700025 A CN 112700025A CN 201911007423 A CN201911007423 A CN 201911007423A CN 112700025 A CN112700025 A CN 112700025A
Authority
CN
China
Prior art keywords
covered
area
cells
robot
sub
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
CN201911007423.5A
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.)
Beijing Jingdong Zhenshi Information Technology Co Ltd
Original Assignee
Beijing Jingdong Zhenshi Information 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 Beijing Jingdong Zhenshi Information Technology Co Ltd filed Critical Beijing Jingdong Zhenshi Information Technology Co Ltd
Priority to CN201911007423.5A priority Critical patent/CN112700025A/en
Publication of CN112700025A publication Critical patent/CN112700025A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)

Abstract

The embodiment of the invention relates to a method and a device for distributing coverage areas, a storage medium and electronic equipment, which relate to the technical field of path planning and comprise the following steps: dividing the area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells; determining an initial evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered; constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; and when the region distribution matrix is confirmed to meet the preset constraint condition, distributing the cells to be covered according to the region distribution matrix to obtain sub-regions to be covered by the robots. The embodiment of the invention improves the accuracy of sub-region distribution, and further improves the efficiency of covering the sub-region to be covered.

Description

Coverage area allocation method and device, storage medium and electronic equipment
Technical Field
The embodiment of the invention relates to the technical field of path planning, in particular to a coverage area allocation method, a coverage area allocation device, a computer-readable storage medium and electronic equipment.
Background
In recent years, robots have been increasingly gaining in life and becoming familiar with it rapidly. The application of the industrial robot greatly improves the production efficiency and the production quality of products, reduces the production cost and greatly promotes the transformation and upgrading of the manufacturing industry. The current robot paths are divided into several types, the traditional path planning means that a shortest path avoiding an obstacle is formed between a starting point and a target point of the robot, the single-robot area coverage path planning means that the robot moves along a possible shortest length path or shortest time path from a certain starting point, and the robot passes through the whole working space except the obstacle in the moving process.
The multi-robot area coverage path planning technology means that a plurality of robots form a team, and the whole working area is effectively covered through a cooperation strategy, so that the working capacity of each robot is effectively improved, and the time for completing a coverage task is reduced. The multi-robot cooperative task completion method has the advantages that the limitation of the number and the angle of the single robot sensor can be overcome, the target area can be observed in multiple directions, the requirement of more search tasks can be met, and meanwhile, the target task can be completed more efficiently.
However, the existing method for distributing coverage areas of multiple robots has the following defects: on one hand, the overlapping rate of the coverage paths of the robot is high, so that the resource of the robot is wasted; on the other hand, the coverage time of the robot cannot be optimized, which in turn results in a lower accuracy of the assignment result of the coverage area.
Therefore, it is desirable to provide a new method and apparatus for allocating coverage areas.
It is to be noted that the information invented in the above background section is only for enhancing the understanding of the background of the present invention, and therefore, may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present invention is directed to a method, an apparatus, a computer-readable storage medium, and an electronic device for allocating a coverage area, which overcome at least some of the problems of low accuracy of allocation results of the coverage area due to limitations and disadvantages of the related art.
According to an aspect of the present disclosure, there is provided a coverage area allocation method applied to a robot cluster including a plurality of robots, the coverage area allocation method including:
dividing an area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells;
determining an initialization evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered;
constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; the preset constraint condition is determined according to each cell to be covered;
and when the area distribution matrix is confirmed to meet the preset constraint condition, distributing the cells to be covered according to the area distribution matrix to obtain sub-areas which need to be covered by the robots.
In an exemplary embodiment of the present disclosure, dividing an area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells includes:
dividing the area to be covered according to the placement position of the barrier in the area to be covered to obtain a plurality of initial cells;
determining the cells occupied by the obstacles in the initial cells according to the placement positions;
and removing the cells occupied by the obstacles in the initial cells, and taking the rest cells as the cells to be covered.
In an exemplary embodiment of the present disclosure, the preset constraint condition includes that a crossing portion between any two cells to be covered is an empty set; and/or
The area formed by each cell to be covered is the same as the remaining area except the cell occupied by the obstacle in the cell to be covered; and/or
The sizes of the cells to be covered are the same; and/or
The initial position of each robot in the area to be covered is included in each cell to be covered.
In an exemplary embodiment of the present disclosure, the method for allocating a coverage area further includes:
when the area distribution matrix is confirmed not to meet the preset constraint condition, correcting each initialization evaluation matrix by using correction parameters; wherein the correction parameters are determined according to the total number of the cells to be covered and the total number of the robots;
and constructing a new area distribution matrix according to the corrected initialization evaluation matrix, and distributing each cell to be covered according to the new area distribution matrix to obtain the sub-area which each robot needs to cover.
In an exemplary embodiment of the present disclosure, the method for allocating a coverage area further includes:
calculating the Euclidean distance between any two cells to be covered, and calculating a plurality of sub-paths which need to be driven when each robot covers each sub-region;
constructing a fitness function of each robot according to the sum of the paths of each sub-path, the number of the cells to be covered in each sub-region and the distance between each cell and the robot;
and adjusting each sub-path according to the fitness function so that the robot can avoid obstacles in the area to be covered.
In an exemplary embodiment of the present disclosure, the method for allocating a coverage area further includes:
carrying out cross transformation on any two sub paths in a plurality of sub paths which need to be driven when any two robots cover the sub regions to obtain new sub paths;
and adjusting the fitness function by using the new sub-path to obtain a new fitness function.
According to an aspect of the present disclosure, there is provided a coverage area allocation method applied to a plurality of drones, the coverage area allocation method including:
dividing an area to be covered to obtain a plurality of initial cells, and determining an initialization evaluation matrix of each unmanned aerial vehicle according to the initial position of each unmanned aerial vehicle in the area to be covered;
constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; the preset constraint condition is determined according to each initial cell;
when the area distribution matrix is judged to meet the preset constraint condition, dividing each initial cell according to the area distribution matrix to obtain sub-areas required to be covered by each unmanned aerial vehicle, and sending the sub-areas required to be covered by each unmanned aerial vehicle to each unmanned aerial vehicle so that each unmanned aerial vehicle covers the sub-areas required to be covered.
According to an aspect of the present disclosure, there is provided a coverage area allocation apparatus applied to a robot cluster including a plurality of robots, the coverage area allocation apparatus including:
the cell division module is used for dividing the area to be covered to obtain a plurality of initial cells and obtaining a plurality of cells to be covered according to the plurality of initial cells;
the initialization evaluation matrix determining module is used for determining an initialization evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered;
the area distribution matrix construction module is used for constructing an area distribution matrix according to each initialization evaluation matrix and judging whether the area distribution matrix meets a preset constraint condition or not; the preset constraint condition is determined according to each cell to be covered;
and the cell distribution module is used for distributing the cells to be covered according to the area distribution matrix when the area distribution matrix is confirmed to meet the preset constraint condition, so as to obtain sub-areas which need to be covered by the robots.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of coverage area allocation of any of the above.
According to an aspect of the present disclosure, there is provided an electronic device including:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform any of the above described methods of coverage area allocation via execution of the executable instructions.
On one hand, a plurality of initial cells are obtained by dividing the area to be covered, and a plurality of cells to be covered are obtained according to the plurality of initial cells; determining an initial evaluation matrix of each robot according to the initial position of each robot in the area to be covered; when each initialized evaluation matrix is determined to meet the preset constraint condition, constructing a region distribution matrix according to the initialized evaluation matrix; finally, the cells to be covered are distributed according to the region distribution matrix to obtain sub-regions to be covered by the robots, so that the problem that the overlapping rate of the coverage paths of the robots is high in the prior art, and further the resources of the robots are wasted is solved; on the other hand, the problem that the coverage time of the robot cannot be optimized in the prior art, and therefore the accuracy of the distribution result of the coverage area is low is solved, the accuracy of sub-area distribution is improved, and therefore the efficiency of covering the sub-area needing to be covered is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention. It is obvious that the drawings in the following description are only some embodiments of the invention, and that for a person skilled in the art, other drawings can be derived from them without inventive effort.
Fig. 1 schematically illustrates a flow chart of a method of allocating coverage areas according to an exemplary embodiment of the invention;
fig. 2 schematically shows an exemplary diagram of a plurality of sub-areas obtained by the above-described method for allocating a coverage area according to an exemplary embodiment of the present invention;
FIG. 3 schematically illustrates a flow chart of a method for computing a region allocation matrix from an initialized evaluation matrix, according to an exemplary embodiment of the invention;
FIG. 4 schematically illustrates a flow chart of another method of allocation of coverage areas according to an example embodiment of the invention;
FIG. 5 schematically shows a flow chart of a genetic algorithm according to an exemplary embodiment of the invention;
FIG. 6 schematically illustrates a flow chart of another method of allocation of coverage areas according to an example embodiment of the invention;
fig. 7 schematically illustrates a system diagram for implementing the allocation method of the coverage areas of fig. 6 according to an exemplary embodiment of the present invention;
FIG. 8 schematically illustrates an example of a cloud in the system shown in FIG. 7, in accordance with an example embodiment of the present invention;
FIG. 9 schematically illustrates an exemplary diagram of a ground station in the system shown in FIG. 7, in accordance with an exemplary embodiment of the present invention;
fig. 10 schematically shows a block diagram of an arrangement for allocating coverage areas according to an exemplary embodiment of the present invention;
fig. 11 schematically illustrates an electronic device for implementing one of the above-described coverage area allocation methods according to an exemplary embodiment of the present invention.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known technical solutions have not been shown or described in detail to avoid obscuring aspects of the invention.
Furthermore, the drawings are merely schematic illustrations of the invention and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
The exemplary embodiment first provides a coverage area allocation method, which may be applied to a robot cluster including a plurality of robots. Further, the method may be run on a server, a server cluster or a cloud server, etc.; of course, those skilled in the art may also operate the method of the present invention on other platforms as needed, and this is not particularly limited in this exemplary embodiment. Referring to fig. 1, the method for allocating the coverage area may include the following steps:
and S110, dividing the area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells.
And S120, determining an initialization evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered.
S130, constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets preset constraint conditions; and the preset constraint condition is determined according to each cell to be covered.
And S140, when the area distribution matrix is confirmed to meet the preset constraint condition, distributing the cells to be covered according to the area distribution matrix to obtain sub-areas which are required to be covered by the robots.
In the distribution method of the coverage area, on one hand, a plurality of initial cells are obtained by dividing the area to be covered, and a plurality of cells to be covered are obtained according to the plurality of initial cells; determining an initial evaluation matrix of each robot according to the initial position of each robot in the area to be covered; when each initialized evaluation matrix is determined to meet the preset constraint condition, constructing a region distribution matrix according to the initialized evaluation matrix; finally, the cells to be covered are distributed according to the region distribution matrix to obtain sub-regions to be covered by the robots, so that the problem that the overlapping rate of the coverage paths of the robots is high in the prior art, and further the resources of the robots are wasted is solved; on the other hand, the problem that the coverage time of the robot cannot be optimized in the prior art, and then the accuracy of the distribution result of the coverage area is low is solved, the accuracy of the sub-area is improved, and the efficiency of covering the sub-area needing to be covered is improved.
Hereinafter, each step in the method for allocating a coverage area according to an exemplary embodiment of the present invention will be explained and explained in detail with reference to the drawings.
First, the background of the invention of the present application is briefly stated.
Specifically, the invention focuses on the segmentation technology and the sub-area coverage technology of the target area in different scenes with the background of robot cooperation and the aim of the robot to complete the area coverage task in different scenes. The technical problem to be solved is to provide a method for decomposing a target region to obtain a plurality of sub-regions based on an improved DARP method, and a genetic algorithm is used for covering the decomposed sub-regions, so that a robot can plan the covering path of all the sub-regions by using the genetic algorithm. An appropriate balance between reducing the robot coverage overlapping rate and shortening the robot coverage time is achieved by utilizing the optimal area decomposition technology and the single-robot coverage technology. The hybrid coverage method can integrate the advantages of the two steps of area decomposition and sub-area coverage, thereby obtaining the optimal robot coverage path.
The method for distributing the coverage areas of the multiple robots solves the problem of task distribution of the multiple robots, reasonably distributes tasks for the multiple robots and can be converted into a sealing for distributing the multiple robots, the space of the whole target area is decomposed, and each robot has the sealing belonging to the robot according to the performance of the robot. The area decomposition technique of the present invention is a division technique (DARP) based on the initial position of a robot. DARP is a region decomposition technology Based on the division of the Initial position of the robot. The invention optimizes and modifies the DARP parameters, provides an improved DARP area decomposition technology and solves the decomposition problem of the target area.
In step S110, the area to be covered is divided into a plurality of initial cells, and a plurality of cells to be covered are obtained according to the plurality of initial cells.
In the embodiment of the present invention, firstly, an area to be covered is divided according to the placement position of an obstacle in the area to be covered, so as to obtain a plurality of initial cells; secondly, determining the cells occupied by the obstacles in the initial cells according to the placement positions; and finally, removing the cells occupied by the obstacles in the initial cells, and taking the rest cells as the cells to be covered. For example:
for convenience of operation, the region to be covered can be limited to a quadrilateral region, the whole region to be covered and the obstacles are divided into a series of cells by using a grid method in an approximate cell decomposition method, wherein one obstacle can be defaulted to occupy one cell and cut. The row number and list of the decomposed cells are denoted by rows and cols, respectively. Wherein, total cell quantity is:
n=rows×cols; (1)
then, all cells can be represented as:
U={x,y:x∈[1,rows],y∈[1,cols]}; (2)
further, the number of obstacles is defined as n0A part of all cells of the cell data of the obstacle is expressed as:
o ═ x, y, x, y occupied }; (3)
so the number of the remaining cells to be covered is r-n0The remaining set of cells is represented as:
R={x,y:(x,y)∈U\O}。 (4)
in step S120, an initial evaluation matrix of each robot in the robot cluster is determined according to an initial position of each robot in the area to be covered.
In step S130, a region allocation matrix is constructed according to each of the initialized evaluation matrices, and whether the region allocation matrix meets a preset constraint condition is determined; and the preset constraint condition is determined according to each cell to be covered. Specifically, the preset constraint condition includes that a crossing part between any two cells to be covered is an empty set; and/or the area formed by each cell to be covered is the same as the remaining area except the cell occupied by the obstacle in the cell to be covered; and/or the sizes of the cells to be covered are the same; and/or the initial position of each robot in the area to be covered is included in each cell to be covered.
Hereinafter, step S120 and step S130 will be explained and explained.
First, with chii(t0) Initial position of robot iRegarding a robot path with the length of m as a cell sequence:
X=((x1,y1),...,(xm,ym)),(xi,yi)∈R; (5)
further, the path length taken by the robot i can be expressed as | XiIf so, the problem of allocation of coverage areas of multiple robots can be translated into path optimization of multiple robots, i.e. minimizing the longest path XiLength of (d):
Figure BDA0002243180200000091
wherein the constraint condition can ensure that the multi-robot path can completely cover the obstacle-free area. The path taken by a single robot can be regarded as the area to be covered by the robot, and thus the objective function can be converted into:
Figure BDA0002243180200000092
wherein the content of the first and second substances,
Figure BDA0002243180200000093
not representing a path in the strict sense but a set of cells to be covered by each robot. Thus, the region R to be covered in the target region is separated
Figure BDA0002243180200000094
The actual motion of the robot does not need to be considered, so the method simplifies the original objective function problem. Moreover, the optimal solution obtained by the objective function needs to satisfy the following conditions (preset constraint conditions):
Figure BDA0002243180200000095
Figure BDA0002243180200000096
Figure BDA0002243180200000097
χi(t0)∈Ri; (11)
the first condition (8) is used for ensuring that each cell only needs to be contained in a cell set of a certain robot and cannot belong to two robots at the same time, so that each robot only needs to be responsible for the cell set of the robot, and one cell cannot be covered by a plurality of robots at the same time to cause resource waste; in the second condition (9), the union of the cell sets of all robots needs to be equal to the uncovered cell set of the target area, i.e. each obstacle-free cell is guaranteed to be covered; the third condition (10) ensures that the number of sets of cells per robot is approximately the same, thus ensuring that the average coverage time is not very long; the fourth condition (11) may ensure that the robot initial position must be in its own set of cells.
Further, the target region may be decomposed into n using a region decomposition techniquerA region unique to the individual robot. Specifically, first, an initial evaluation matrix E of the robot i is determined according to the initial position of the robot i in the area to be covered (cell to be covered)iWherein E isiThe reachability level of the cell L to the i-th robot can be expressed, where the reachability level is expressed in terms of euclidean distance. Specifically, the method comprises the following steps:
Figure BDA0002243180200000101
second, during each iteration, an assignment matrix A may be setx,yTo represent cell affiliation; specifically, Ax,yThe selection rule may be: the cell at which the evaluation matrix reaches a minimum is taken. Therefore, the evaluation matrix E of the ith robot can be determinediThereafter, the matrix E can be evaluatediComputing a region allocation matrix Ax,y. Wherein:
Figure BDA0002243180200000102
in step S140, when it is determined that the area allocation matrix satisfies the preset constraint condition, the cells to be covered are allocated according to the area allocation matrix, so as to obtain sub-areas that the robots need to cover.
In this exemplary embodiment, after the area allocation matrix is obtained, each cell to be covered may be allocated according to the area allocation matrix, so as to obtain a sub-area that each robot needs to cover. Specifically, the following may be mentioned:
region R of each robotiCan be expressed as:
Figure BDA0002243180200000103
the number of allocation units per robot may be defined as:
Figure BDA0002243180200000111
wherein the sub-area that each robot needs to cover may be as shown in fig. 2. As can be seen from fig. 2, the area of the sub-region to be covered by each robot is approximately the same. Further, after obtaining the sub-areas that each robot needs to cover, each sub-area may be sent to each robot in the robot cluster, and each robot may cover each sub-area.
Furthermore, in order to avoid the problem that the accuracy of the area allocation matrix is low, which leads to the low accuracy of the sub-area that each robot needs to cover, the method for allocating the coverage area may further include: firstly, when the area distribution matrix is confirmed not to meet the preset constraint condition, correcting each initialization evaluation matrix by using correction parameters; wherein the correction parameters are determined according to the total number of the cells to be covered and the total number of the robots; and secondly, constructing a new area distribution matrix according to the corrected initialization evaluation matrix, and distributing the cells to be covered according to the new area distribution matrix to obtain sub-areas which are required to be covered by the robots. In detail:
first, an allocation strategy can be calculated according to the initial position of the robot and the distance between cells, and the four conditions of the formulas (8), (9), (10) and (11) are simultaneously satisfied to achieve the optimal requirement of the allocation problem of the multi-coverage area. And, the conditional expressions (8), (9) and (11) are satisfied regardless of the evaluation matrix of the robot. Further, in order to satisfy the condition (10), it is necessary to consider whether the cell is allocated with fairness to each robot, and therefore the evaluation matrix E is improved belowiTo further adjust the allocation policy. For example:
first, assume each evaluation matrix EiAll can pass through the variable miAnd (4) proper correction. Such as:
Ei=miEi; (16)
wherein m isiThe updating of (a) can be adjusted by adopting a circular coordinate descent method. The details are as follows:
mi=mi+c(ki-f); (17)
wherein c represents a positive adjustable parameter, kiThe number of cells allocated to each robot is represented, and f is a global fair allocation parameter, which can be specifically as follows:
f=l/nr; (18)
where l represents the total number of cells occupied by all robots, nrIndicating the total number of robots. Thus, when m is obtainediThereafter, the initial evaluation matrix E of the ith robot may be determinediIs updated to miEiThen according to the updated initial evaluation matrix miEiA region allocation matrix can be calculatedAx,y
Hereinafter, the calculation method for obtaining the area allocation matrix according to the initialized evaluation matrix will be further explained with reference to fig. 3. Referring to fig. 3, the method for calculating the region allocation matrix according to the initialized evaluation matrix may include the following steps:
step S310, determining an initialization evaluation matrix E of all robots1,E2,...,Enr
Step S320, evaluating the matrix E according to the initialization1,E2,...,EnrComputing a region allocation matrix Ax,y
Step S330, judging the area distribution matrix Ax,yWhether a preset constraint condition is met or not; if yes, return to step S320; if not, jumping to step S340;
step S340, according to the distribution matrix Ax,yCalculating a fair distribution parameter m for each robot1,m2,...,mnr
Step S350, updating each initialized evaluation matrix by using fair distribution parameters;
step S360, calculating an area distribution matrix A according to the updated initialized evaluation matrixx,y
Fig. 4 schematically illustrates another method of allocating coverage areas according to an example embodiment of the present disclosure. Referring to fig. 4, the method for allocating a coverage area may further include steps S410 to S430, which will be described in detail below.
In step S410, the euclidean distance between any two cells to be covered is calculated, and a plurality of sub-paths that each robot needs to travel when covering each sub-region are calculated.
In step S420, a fitness function of each robot is constructed according to the sum of the paths of each sub-path, the number of cells to be covered included in each sub-region, and the distance between each cell and the robot.
In step S430, each of the sub-paths is adjusted according to the fitness function, so that the robot can avoid the obstacle in the area to be covered.
Hereinafter, steps S410 to S430 will be explained and explained in conjunction with a genetic algorithm.
First, a genetic algorithm will be briefly described. Specifically, the first step of a genetic algorithm is the initialization of a solution (gene or chromosome). These populations are then evaluated using a fitness function to deliver offspring with higher fitness values. Genes in chromosomes are replaced by selection, crossover and mutation operations under the influence of biological genetic variation. The robot determines an optimal mini partial path in each traveling process from the starting position, and continuously calculates the route of the next traveling in the traveling process until the coverage of the whole area is completed. And, since the path planning of the genetic algorithm does not need to know the environment of the room in advance, it is suitable for a real-time and dynamic environment.
Specifically, referring to fig. 5, the genetic algorithm may include the following steps:
step S501, selecting Gen to be 0 and coding the Gen to be 0;
step S502, randomly generating M initial individuals, and judging whether the M initial individuals meet termination conditions; if yes, jumping to step S506; if not, jumping to step S503;
and step S503, calculating the individual fitness and executing a genetic operator. Wherein performing the genetic operator may comprise replicating an individual according to fitness, or selecting two crossing individuals, or selecting individual variation points, etc.
Step S504, respectively adding a copy individual obtained by copying the individual according to the fitness, a cross individual obtained according to the two cross individuals and a variant individual obtained according to the individual variation point into the new population.
Step S505, the steps are circulated until the M initial individuals complete the execution of the genetic operator; then, the algorithm is executed on the gene in Gen-1;
step S506, the result is output.
Hereinafter, steps S410 to S430 will be explained and explained in conjunction with the above algorithm. First, a connection Rij between two adjacent cells represents an euclidean distance between the two cells, and assuming that a distance between a certain cell and the upper, lower, left, and right sides is 1, the distance from the four corners (for example, the upper left cell) is set to be equal to the distance between the two cells
Figure BDA0002243180200000131
The distance from the obstacle cell is ∞. To obtain a global path, the small segment of the path within the sensor range is called a mini-path, with more than one segment per robot path. This mini-path is the chromosome.
The method comprises the following specific steps:
(1) gene coding and representation of nodes
Each cell in the environment is assigned a number. Each cell is represented by a gene, the mini-path is represented by a chromosome (euclidean distance) which is composed of genes (cells to be covered).
(2) Generation of an initial population
At this stage, if possible, mini-path planning is to randomly select an adjacent position, so we can get a random chromosome of the small segment path, and the small segment path can be obtained in two ways: a spiral motion or a meandering motion.
(3) Selecting a fitness function
To evaluate the fitness of each mini-path, three parameters are considered: the distance of the mini-path, the number of consecutive unobstructed cells and the total distance of each cell relative to the current robot position.
The fitness function of the mini-path is constructed as:
Figure BDA0002243180200000141
wherein A, B, C are constants, Dist (i) represents the distance of the mini path, free (i) represents the number of free cells,
Figure BDA0002243180200000142
representing the distance of the free cell from the current robot position.
The total distance of the mini-paths is calculated by the sum of the distances between two cells, where the distance represents the euclidean distance. The number of free cells refers to the number of cells to be covered of the mini path belonging to the current robot position. The total distance of each position cell relative to the current robot position represents the current robot position xcPosition x of unit to be covered with mini path ijThe distance therebetween (on the X-axis). Further, each sub-path is adjusted according to the fitness function, so that the robot can avoid the obstacle in the area to be covered.
Furthermore, in order to further improve the coverage efficiency of the robot on the sub-area, the method for allocating the coverage area may further include: firstly, carrying out cross transformation on any two sub-paths in a plurality of sub-paths which are required to be driven by any two robots when covering each sub-region to obtain a new sub-path; and secondly, adjusting the fitness function by using the new sub-path to obtain a new fitness function. In detail:
the fitness is improved by using a cross and variation mode. Crossover is when two mini paths are selected, they will be considered responsible, and the crossover operator allows the child to integrate a mixture of genes inherited between the father and the mother. The gene at a certain position is cross-substituted to obtain two new chromosomes, namely newly generated minipaths, and then the two minipaths are added into the population. Mutation is used for dealing with emergencies, and the value of the gene is modified according to the value of the neighbor unit cell, and then a new mini path is obtained.
In the method for allocating the coverage area provided by the above exemplary embodiment, at least the following advantages are provided:
on one hand, the technical scheme of the embodiment of the invention develops the research on the distribution technology of the multi-robot coverage area around the two aspects of target area decomposition and sub-coverage area distribution. The first step is to process the target region based on a region decomposition algorithm, thereby decomposing the entire target region into a plurality of sub-regions. The specific research content of the region segmentation comprises the following steps: the method comprises the following steps of defining symbols, simplifying distribution problems of robot coverage areas, establishing an evaluation matrix, and establishing and correcting a distribution matrix. And the second step is to cover the decomposed sub-areas respectively based on the existing single-robot coverage area distribution technology. The content of the allocation of the sub-coverage areas mainly comprises: gene coding and representation of nodes, generation of initial population, selection of fitness function, and generation of new population. The method can not only carry out early-stage optimization on the target area through the step of optimizing the area decomposition algorithm, but also improve the performance of the distribution method of the sub-coverage area through optimizing the single-robot coverage technology.
On the other hand, the number of multiple robots in different target environments can be planned according to the number of different robots, different requirements are met, each robot can meet a fast planning task, and the operation speed is very fast; moreover, problems can be located quickly. Because each robot is responsible for one area, when a problem occurs in one area, one area can be quickly found and responsible for one robot, and the problem is directly processed; furthermore, the method has the problem of considering the obstacles in the target area, and can smoothly plan the path on the premise of avoiding the obstacles.
Fig. 6 schematically illustrates another method of coverage area allocation, applied to a plurality of drones, according to an exemplary embodiment of the present invention. Referring to fig. 6, the method for allocating the coverage area may include the following steps:
step S610, dividing the area to be covered to obtain a plurality of initial cells, and determining the initialization evaluation matrix of each unmanned aerial vehicle according to the initial position of each unmanned aerial vehicle in the area to be covered.
Step S620, constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; wherein the preset constraint condition is determined according to each initial cell.
Step S630, when it is determined that the area distribution matrix satisfies the preset constraint condition, dividing each of the initial cells according to the area distribution matrix to obtain sub-areas that each of the unmanned aerial vehicles needs to cover, and sending the sub-areas that each of the unmanned aerial vehicles needs to cover to each of the unmanned aerial vehicles, so that each of the unmanned aerial vehicles covers each of the sub-areas that needs to cover.
Hereinafter, steps S610 to S630 will be explained.
It should be noted that, the embodiment shown in fig. 6 is implemented based on the project "intelligent unmanned cluster system software body structure and operation support platform". The project takes a parallel system construction method and a support technology of 'front-end autonomous collaboration + background intelligent management and control' as a core, establishes an intelligent unmanned cluster system software technology system facing the parallel management and control, constructs an intelligent unmanned cluster system operation support platform and an application development environment, and implements two typical demonstration applications of fixed wing unmanned aerial vehicle area coverage relay communication and rotor unmanned aerial vehicle group collaborative cargo delivery. The system operation support platform facing the parallel management and control is composed of mechanisms such as heterogeneous node resource abstract packaging and management, local autonomous and cooperative control, intelligent planning and cooperative behavior management and control and the like.
In the embodiment of the present invention, an area coverage planning tool is designed to connect the cloud 700, the ground station 701, and the unmanned aerial vehicle 702 to form a system, which may specifically refer to fig. 7.
Further, referring to fig. 8, the cloud 700 may include a database 801 and an algorithm module 802, where the database 801 may include a region boundary point 8011, a planned waypoint 8012, a real-time receiving waypoint 8013, a flight parameter 8014, and a device state 8015; the algorithm module 802 may include a region decomposition module 8021 and a sub-region path planning module 8022; the area decomposition module may include an initial evaluation matrix establishing module 80211, an initial evaluation matrix adjusting module 80212 (which may adjust the initial evaluation matrix by adding parameters), an initial evaluation matrix updating module 80213, and an area allocation matrix calculating module 80214; the sub-region path planning module 8022 may include a gene coding module 80221 (initial cell coding module), an initialized population module 80222 (sub-path calculation module), a fitness evaluation module 80223, and a new population generation module 80224 (new sub-path generation module).
Further, the implementation of the algorithm module is explained and illustrated. Referring to fig. 9, first, an area to be covered 901, i.e., an area of interest, is defined on a ground station 701. Ground station 701 is mainly used to interact with the user, who can set for, edit and modify the airline of unmanned aerial vehicle for unmanned aerial vehicle planning tasks, while displaying some real-time information (position, altitude, airspeed, oil mass, etc.) of unmanned aerial vehicle. An area coverage planning tool is designed on the ground station 701 for planning the robot coverage area and path visualization. Through the area covering tool, the endpoint coordinate values of the polygonal area can be determined through mouse clicking at the ground station, and the system captures the coordinate longitude and latitude clicked by the mouse, so that the actual shape and area of the target area are determined. The system then uploads the boundary point information 902 of the target area to the cloud.
The cloud 700 segments the entire area by using a distribution path planning algorithm for the coverage area, and calculates a path required by each drone. The distribution algorithm of the coverage area needs to plan the fastest path for each unmanned aerial vehicle and consider the coverage of the whole area, so the calculation amount is very large, the algorithm is partially unloaded to the cloud, and the algorithm planning is carried out by utilizing the cloud. The method specifically comprises the following steps:
the cloud utilizes the region to decompose the calculation region:
(1) performing approximate cell decomposition on a polygonal area formed by the uploaded area boundary points, decomposing a target area into a series of grids, and if the robot is an unmanned aerial vehicle, directly performing decomposition; in the case of a ground robot, the barrier grid is defined.
(2) According to reasonable demands, the initial number and the initial position of the unmanned aerial vehicles are determined. The initial number of drones is limited by the maximum number of drones available, which cannot be more than the maximum number of drones available. The initial position of the drone directly determines the performance of the final path, so the assignment of the initial position is very important.
(3) And calculating an initial evaluation matrix and an allocation matrix through the initial position of the unmanned aerial vehicle. According to the method of initial evaluation of matrices described in the content of the previous patent, we can calculate an initial evaluation matrix from the euclidean distance representation and then an assignment matrix from the initial evaluation matrix.
(4) And updating the evaluation matrix and the distribution matrix according to the rule. When the preset constraint condition is met, the distribution can be optimal, so that a parameter m needs to be added to adjust the evaluation matrix, and the distribution matrix is recalculated.
(5) And determining the area responsible for each unmanned aerial vehicle according to the distribution matrix. The allocation matrix represents the drone to which each cell belongs, so that the initial cell to be covered by each drone can be directly obtained through the allocation matrix.
The cloud end calculates the sub-region path by using a genetic algorithm, and specifically comprises the following steps:
(1) and (4) assigning the running parameters of the genetic algorithm, including population scale, variable number, cross probability and variation probability, and terminating evolution algebra of the primary genetic algorithm.
(2) An area descriptor is established. And solving the constraint condition of the variable, and setting the value range of the variable.
(3) And (3) randomly generating an initial population within the variable value range in the step (2), and substituting the initial population into a fitness function to calculate the fitness value of the initial population.
(4) And executing a proportion selection operator to perform selection operation.
(5) And performing intersection operation on the intersection operator according to the intersection probability.
(6) And performing mutation operation according to the mutation probability.
(7) And (6) calculating the adaptive value of each individual in the local optimal solution in the step (6), and executing an optimal individual storage strategy.
(8) And (4) judging whether the final evolution algebra of the genetic algorithm is satisfied, if not, returning to the step (4), and if so, outputting the operation result.
And after the cloud planning is finished, the planning result is transmitted back to the ground station for display. With continued reference to fig. 6, the ground 601 may display the planned path results in addition to the inputs of the feasible target area. The result of the cloud planning is a series of data coordinates, which are transmitted back to the flight path of the drone in the format of a waypoint file. The format of the waypoint file is based on the standard waypoint file format in the mississionsplaner, and includes waypoint number, whether the current position of the unmanned aerial vehicle is the current waypoint, coordinate frame, command, and whether to continue with the next waypoint. And transmitting the data back to the ground station, and displaying the current position and the predicted running track in real time to be used as a monitoring tool.
The Mission (i.e., Mission) is pushed to the drone 603 using a Mission planning tool. Aiming at the large-scale distribution requirement of the robot task, a push-pull combined task distribution mechanism is adopted. Firstly, the character package is pushed to the unmanned aerial vehicle by 'direct pushing', and then the unmanned aerial vehicle actively initiates a request to download the task package to the server according to the pushed link by adopting a traditional pulling mechanism. The transmission mechanism of intermittent continuous transmission is provided at the unmanned aerial vehicle receiving module, and the ROS is used as a carrier, so that the operation support of the task package is provided for the unmanned aerial vehicle.
After receiving the pushed task, the unmanned aerial vehicle can autonomously accept or reject the task in the Mission, and clearly return the reason for rejecting some tasks. In order to enable the unmanned aerial vehicle to automatically execute a specific task without manual operation or reduce the manual operation as much as possible, a specific program needs to be set for the unmanned aerial vehicle in advance, and the unmanned aerial vehicle is enabled to complete the task according to a specific action sequence. The received Task forms a Task tree (the Task tree is an effective representation of Action sequence execution), the Task is decomposed into a series of subtasks (actions) by using a Task interpreter, and the Action interpreter receives a request for executing the Action and converts the requested Action into a specific execution command. The unmanned aerial vehicle performs autonomous flight according to a specific action instruction and avoids obstacles in the execution process.
And transmitting the data back to the cloud. Unmanned aerial vehicle can give the high in the clouds with data real-time transmission such as the point cloud of shooting, photo, video, and the high in the clouds fuses the data that pass back in real time, and because the memory that shoots a large amount of point clouds, photo, video and occupy is very big, and the algorithm calculated amount of data fusion can be bigger, so will fuse the part and migrate to the high in the clouds and calculate, the greatly reduced the calculation pressure of robot itself. If the unmanned aerial vehicle is a surveying unmanned aerial vehicle, the shot point cloud data needs to be transmitted back to the cloud end to complete a map construction task; if unmanned aerial vehicle is rescue unmanned aerial vehicle, then unmanned aerial vehicle flight in-process, unmanned aerial vehicle shoots the photo or the video passes back the high in the clouds. And for the photo data, the cloud end performs real-time image fusion on the photo to complete the task of searching and rescuing the personnel. And for video data, the cloud end detects video targets to find out disaster-stricken personnel.
It should be further added here that, in the area to be covered for the unmanned aerial vehicle, even if an obstacle exists, the obstacle does not obstruct the travel path of the unmanned aerial vehicle, so the initial cell can be directly calculated as the cell to be covered without considering the cell occupied by the obstacle.
The present disclosure also provides a coverage area allocation apparatus, which is applied to a robot cluster, and as shown in fig. 10, the coverage area allocation apparatus may include a cell division module 1010, an initialization evaluation matrix determination module 1020, an area allocation matrix construction module 1030, and a cell allocation module 1040. Wherein:
the cell division module 1010 may be configured to divide an area to be covered to obtain a plurality of initial cells, and obtain a plurality of cells to be covered according to the plurality of initial cells.
The initialized evaluation matrix determining module 1020 may be configured to determine an initialized evaluation matrix of each robot in the robot cluster according to an initial position of each robot in the area to be covered.
The region allocation matrix constructing module 1030 may be configured to construct a region allocation matrix according to each of the initialized evaluation matrices, and determine whether the region allocation matrix meets a preset constraint condition; and the preset constraint condition is determined according to each cell to be covered.
The cell allocation module 1040 may be configured to, when it is determined that the area allocation matrix meets the preset constraint condition, allocate each cell to be covered according to the area allocation matrix, and obtain a sub-area that each robot needs to cover.
In an exemplary embodiment of the present disclosure, dividing an area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells includes:
dividing the area to be covered according to the placement position of the barrier in the area to be covered to obtain a plurality of initial cells; determining the cells occupied by the obstacles in the initial cells according to the placement positions; and removing the cells occupied by the obstacles in the initial cells, and taking the rest cells as the cells to be covered.
In an exemplary embodiment of the present disclosure, the preset constraint condition includes that an intersection between any two cells to be covered is an empty set. And/or
The area formed by each of the cells to be covered is the same as the remaining area of the cells to be covered except for the cells occupied by the obstacle. And/or
The sizes of the cells to be covered are the same. And/or
The initial position of each robot in the area to be covered is included in each cell to be covered.
In an exemplary embodiment of the present disclosure, the apparatus for allocating a coverage area further includes:
the initialized evaluation matrix correction module is used for correcting each initialized evaluation matrix by using correction parameters when the region distribution matrix is confirmed not to meet the preset constraint condition; wherein the correction parameters are determined according to the total number of the cells to be covered and the total number of the robots.
And the area allocation matrix construction submodule can be used for constructing a new area allocation matrix according to the corrected initialization evaluation matrix, and distributing each cell to be covered according to the new area allocation matrix to obtain a sub-area which is required to be covered by each robot.
In an exemplary embodiment of the present disclosure, the apparatus for allocating a coverage area further includes:
and the sub-path calculation module can be used for calculating the Euclidean distance between any two cells to be covered and calculating a plurality of sub-paths required to be traveled by each robot when each sub-region is covered.
The fitness function building module may be configured to build a fitness function of each robot according to a sum of paths of each sub-path, the number of cells to be covered included in each sub-region, and a distance between each cell and the robot.
And the sub-path adjusting module can be used for adjusting each sub-path according to the fitness function so that the robot can avoid the obstacles in the area to be covered.
In an exemplary embodiment of the present disclosure, the apparatus for allocating a coverage area further includes:
the sub-path cross transformation module may be configured to perform cross transformation on any two sub-paths of a plurality of sub-paths that any two robots need to travel when covering each sub-region, so as to obtain a new sub-path.
And the fitness function adjusting module can be used for adjusting the fitness function by utilizing the new sub-path to obtain a new fitness function.
This palace still provides another kind of distribution device of coverage area, is applied to a plurality of unmanned aerial vehicles, distribution device of coverage area includes:
the initialization evaluation matrix determining submodule can be used for dividing an area to be covered to obtain a plurality of initial cells, and determining the initialization evaluation matrix of each unmanned aerial vehicle according to the initial position of each unmanned aerial vehicle in the area to be covered.
The region allocation matrix construction submodule can be used for constructing a region allocation matrix according to the initialization evaluation matrix when the initialization evaluation matrices are determined to meet the preset constraint conditions; wherein the preset constraint condition is determined according to each initial cell.
The cell allocation module may be configured to allocate each initial cell according to the area allocation matrix to obtain a sub-area that each unmanned aerial vehicle needs to cover, and send the sub-area that each unmanned aerial vehicle needs to cover to each unmanned aerial vehicle, so that each unmanned aerial vehicle covers each sub-area that needs to cover.
The specific details of each module in the above coverage area allocation apparatus have been described in detail in the corresponding coverage area allocation method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the invention. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present invention are depicted in the drawings in a particular order, this does not require or imply that the steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
In an exemplary embodiment of the present invention, there is also provided an electronic device capable of implementing the above method.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 1100 according to this embodiment of the invention is described below with reference to fig. 11. The electronic device 1100 shown in fig. 11 is only an example and should not bring any limitations to the function and the scope of use of the embodiments of the present invention.
As shown in fig. 11, electronic device 1100 is embodied in the form of a general purpose computing device. The components of the electronic device 1100 may include, but are not limited to: the at least one processing unit 1110, the at least one memory unit 1120, and a bus 1130 that couples various system components including the memory unit 1120 and the processing unit 1110.
Wherein the storage unit stores program code that is executable by the processing unit 1110 to cause the processing unit 1110 to perform steps according to various exemplary embodiments of the present invention as described in the above section "exemplary methods" of the present specification.
For example, the processing unit 1110 may execute step S110 as shown in fig. 1: dividing an area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells; s120: determining an initialization evaluation matrix of each robot according to the initial position of each robot in the area to be covered; step S130: constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; the preset constraint condition is determined according to each cell to be covered; step S140: and when the area distribution matrix is confirmed to meet the preset constraint condition, distributing the cells to be covered according to the area distribution matrix to obtain sub-areas which need to be covered by the robots.
The storage unit 1120 may include a readable medium in the form of a volatile memory unit, such as a random access memory unit (RAM)11201 and/or a cache memory unit 11202, and may further include a read only memory unit (ROM) 11203.
Storage unit 1120 may also include a program/utility 11204 having a set (at least one) of program modules 11205, such program modules 11205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 1130 may be representative of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 1100 may also communicate with one or more external devices 1200 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1100, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 1100 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 1150. Also, the electronic device 1100 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via the network adapter 1160. As shown, the network adapter 1160 communicates with the other modules of the electronic device 1100 over the bus 1130. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 1100, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiment of the present invention can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) execute the method according to the embodiment of the present invention.
In an exemplary embodiment of the present invention, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a terminal device to carry out the steps according to various exemplary embodiments of the invention described in the above section "exemplary methods" of the present description, when said program product is run on the terminal device.
According to the program product for realizing the method, the portable compact disc read only memory (CD-ROM) can be adopted, the program code is included, and the program product can be operated on terminal equipment, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes involved in methods according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.

Claims (10)

1. A method for allocating a coverage area is applied to a robot cluster, and comprises the following steps:
dividing an area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells;
determining an initialization evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered;
constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; the preset constraint condition is determined according to each cell to be covered;
and when the area distribution matrix is confirmed to meet the preset constraint condition, distributing the cells to be covered according to the area distribution matrix to obtain sub-areas which need to be covered by the robots.
2. The method according to claim 1, wherein the dividing the area to be covered to obtain a plurality of initial cells, and obtaining a plurality of cells to be covered according to the plurality of initial cells comprises:
dividing the area to be covered according to the placement position of the barrier in the area to be covered to obtain a plurality of initial cells;
determining the cells occupied by the obstacles in the initial cells according to the placement positions;
and removing the cells occupied by the obstacles in the initial cells, and taking the rest cells as the cells to be covered.
3. The method according to claim 2, wherein the preset constraint condition includes that the intersection between any two cells to be covered is an empty set; and/or
The area formed by each cell to be covered is the same as the remaining area except the cell occupied by the obstacle in the cell to be covered; and/or
The sizes of the cells to be covered are the same; and/or
The initial position of each robot in the area to be covered is included in each cell to be covered.
4. The method of claim 1, further comprising:
when the area distribution matrix is confirmed not to meet the preset constraint condition, correcting each initialization evaluation matrix by using correction parameters; wherein the correction parameters are determined according to the total number of the cells to be covered and the total number of the robots;
and constructing a new area distribution matrix according to the corrected initialization evaluation matrix, and distributing each cell to be covered according to the new area distribution matrix to obtain the sub-area which each robot needs to cover.
5. The method of claim 1, further comprising:
calculating the Euclidean distance between any two cells to be covered, and calculating a plurality of sub-paths which need to be driven when each robot covers each sub-region;
constructing a fitness function of each robot according to the sum of the paths of each sub-path, the number of the cells to be covered in each sub-region and the distance between each cell and the robot;
and adjusting each sub-path according to the fitness function so that the robot can avoid obstacles in the area to be covered.
6. The method of claim 5, further comprising:
carrying out cross transformation on any two sub paths in a plurality of sub paths which need to be driven when any two robots cover the sub regions to obtain new sub paths;
and adjusting the fitness function by using the new sub-path to obtain a new fitness function.
7. A method for allocating a coverage area is applied to a plurality of unmanned aerial vehicles, and comprises the following steps:
dividing an area to be covered to obtain a plurality of initial cells, and determining an initialization evaluation matrix of each unmanned aerial vehicle according to the initial position of each unmanned aerial vehicle in the area to be covered;
constructing a region distribution matrix according to each initialization evaluation matrix, and judging whether the region distribution matrix meets a preset constraint condition; the preset constraint condition is determined according to each initial cell;
when the area distribution matrix is judged to meet the preset constraint condition, dividing each initial cell according to the area distribution matrix to obtain sub-areas required to be covered by each unmanned aerial vehicle, and sending the sub-areas required to be covered by each unmanned aerial vehicle to each unmanned aerial vehicle so that each unmanned aerial vehicle covers the sub-areas required to be covered.
8. An allocation device of a coverage area, which is applied to a robot cluster, the allocation device of the coverage area comprises:
the cell division module is used for dividing the area to be covered to obtain a plurality of initial cells and obtaining a plurality of cells to be covered according to the plurality of initial cells;
the initialization evaluation matrix determining module is used for determining an initialization evaluation matrix of each robot according to the initial position of each robot in the robot cluster in the area to be covered;
the area distribution matrix construction module is used for constructing an area distribution matrix according to each initialization evaluation matrix and judging whether the area distribution matrix meets a preset constraint condition or not; the preset constraint condition is determined according to each cell to be covered;
and the cell distribution module is used for distributing the cells to be covered according to the area distribution matrix when the area distribution matrix is confirmed to meet the preset constraint condition, so as to obtain sub-areas which need to be covered by the robots.
9. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method of allocation of a coverage area of any one of claims 1 to 7.
10. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the method of coverage area allocation of any one of claims 1-7 via execution of the executable instructions.
CN201911007423.5A 2019-10-22 2019-10-22 Coverage area allocation method and device, storage medium and electronic equipment Pending CN112700025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911007423.5A CN112700025A (en) 2019-10-22 2019-10-22 Coverage area allocation method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911007423.5A CN112700025A (en) 2019-10-22 2019-10-22 Coverage area allocation method and device, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN112700025A true CN112700025A (en) 2021-04-23

Family

ID=75504554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911007423.5A Pending CN112700025A (en) 2019-10-22 2019-10-22 Coverage area allocation method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN112700025A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115049688A (en) * 2022-08-16 2022-09-13 之江实验室 Grid map region division method and device based on reinforcement learning thought

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080216024A1 (en) * 2004-05-24 2008-09-04 New Wei Lee Method and Apparatus for Allocating Data Paths
CN105922267A (en) * 2016-06-28 2016-09-07 山东理工大学 Design method of full-coverage traversal path planning algorithm of cleaning robot
US20170072565A1 (en) * 2014-05-05 2017-03-16 Georgia Tech Research Corporation Control of Swarming Robots
CN107807665A (en) * 2017-11-29 2018-03-16 合肥工业大学 Unmanned plane formation detection mission collaborative allocation and device
CN109459026A (en) * 2018-11-08 2019-03-12 北京理工大学 A kind of multiple movement bodies collaboration complete coverage path planning method
CN109671003A (en) * 2018-12-21 2019-04-23 南京泛在地理信息产业研究院有限公司 A kind of global land use and windy and sandy soil sequence space method of integrated GCAM and CA
US10343280B1 (en) * 2014-12-16 2019-07-09 Bobsweep Inc Method and system for robotic surface coverage
CN110288165A (en) * 2019-07-02 2019-09-27 南京信息工程大学 The unmanned monitoring and tracking method of multiple target based on quick clustering and optimization distribution

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080216024A1 (en) * 2004-05-24 2008-09-04 New Wei Lee Method and Apparatus for Allocating Data Paths
US20170072565A1 (en) * 2014-05-05 2017-03-16 Georgia Tech Research Corporation Control of Swarming Robots
US10343280B1 (en) * 2014-12-16 2019-07-09 Bobsweep Inc Method and system for robotic surface coverage
CN105922267A (en) * 2016-06-28 2016-09-07 山东理工大学 Design method of full-coverage traversal path planning algorithm of cleaning robot
CN107807665A (en) * 2017-11-29 2018-03-16 合肥工业大学 Unmanned plane formation detection mission collaborative allocation and device
CN109459026A (en) * 2018-11-08 2019-03-12 北京理工大学 A kind of multiple movement bodies collaboration complete coverage path planning method
CN109671003A (en) * 2018-12-21 2019-04-23 南京泛在地理信息产业研究院有限公司 A kind of global land use and windy and sandy soil sequence space method of integrated GCAM and CA
CN110288165A (en) * 2019-07-02 2019-09-27 南京信息工程大学 The unmanned monitoring and tracking method of multiple target based on quick clustering and optimization distribution

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
POOYAN FAZLI: "Multi-Robot Repeated Area Coverage: Performance Optimization Under Various Visual Ranges", 《2012 NINTH CONFERENCE ON COMPUTER AND ROBOT VISION》, pages 298 - 305 *
简毅: "移动机器人全局覆盖路径规划算法研究进展与展望", 《计算机应用》, vol. 34, no. 10, pages 2844 - 2849 *
高春庆;寇英信;李战武;徐安;李游;常一哲;: "小型无人机协同覆盖侦察路径规划", 系统工程与电子技术, no. 06, pages 127 - 132 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115049688A (en) * 2022-08-16 2022-09-13 之江实验室 Grid map region division method and device based on reinforcement learning thought
CN115049688B (en) * 2022-08-16 2022-11-18 之江实验室 Grid map region division method and device based on reinforcement learning thought

Similar Documents

Publication Publication Date Title
Almadhoun et al. A survey on multi-robot coverage path planning for model reconstruction and mapping
US20240015196A1 (en) Low latency wireless communication system for teleoperated vehicle environments
JP6415427B2 (en) Autonomous mission planning and monitoring
CN107883954B (en) Method and device for generating an optimal flight path intended to be followed by an aircraft
US20140226584A1 (en) Adaptive communications network
WO2019141223A1 (en) Path planning method and system for mobile robot
US11223556B2 (en) Platform for redundant wireless communications optimization
Chen et al. Decentralized task and path planning for multi-robot systems
Lim et al. Stochastic distributed multi-agent planning and applications to traffic
US20210325862A1 (en) Safeguarding resources of physical entities in a shared environment
CN112783207B (en) Unmanned aerial vehicle flight path planning method based on multi-objective particle swarm optimization
Zhu et al. Path planning of multi-UAVs based on deep Q-network for energy-efficient data collection in UAVs-assisted IoT
Banfi et al. An integer linear programming model for fair multitarget tracking in cooperative multirobot systems
TW201947191A (en) A system and method for managing a plurality of vehicles
CN113485409A (en) Unmanned aerial vehicle path planning and distribution method and system for geographic fairness
Shi et al. A multi-layer collaboration framework for industrial parks with 5G vehicle-to-everything networks
Xiang et al. An effective memetic algorithm for UAV routing and orientation under uncertain navigation environments
CN112700025A (en) Coverage area allocation method and device, storage medium and electronic equipment
Hua et al. Drl-based energy efficient communication coverage control in hierarchical hap-lap network
US11574165B2 (en) Optimization system and optimization method
US11868931B2 (en) Reliability-aware multi-agent coverage path planning
CN116088396B (en) Unmanned cluster double-layer cooperative task control method and system
CN116880561A (en) Optimization method and system based on improved particle swarm unmanned aerial vehicle path planning safety enhancement
Shi et al. Path planning for mobile robots in complex environments based on improved ant colony algorithm.
Giovanini et al. Autonomous and decentralized mission planning for clusters of UUVs

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