CN112462783A - Task planning method of heterogeneous multi-robot system under full-coverage application - Google Patents

Task planning method of heterogeneous multi-robot system under full-coverage application Download PDF

Info

Publication number
CN112462783A
CN112462783A CN202011401042.8A CN202011401042A CN112462783A CN 112462783 A CN112462783 A CN 112462783A CN 202011401042 A CN202011401042 A CN 202011401042A CN 112462783 A CN112462783 A CN 112462783A
Authority
CN
China
Prior art keywords
robot
grid
sub
equal
module
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.)
Granted
Application number
CN202011401042.8A
Other languages
Chinese (zh)
Other versions
CN112462783B (en
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202011401042.8A priority Critical patent/CN112462783B/en
Publication of CN112462783A publication Critical patent/CN112462783A/en
Application granted granted Critical
Publication of CN112462783B publication Critical patent/CN112462783B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

The invention discloses a task planning method of a heterogeneous multi-robot system under full-coverage application, which adopts the technical scheme that the heterogeneous multi-robot task planning system under full-coverage application, which consists of a server, a client and a robot terminal, is constructed; the client acquires information of a target area; a robot selection module on the server side constructs a heterogeneous robot capability model and a mathematical model based on the robot coverage area to obtain an optimal robot set C; the environment modeling module calculates the number of grids which need to be covered by the K robots in the C through environment modeling, and counts the grids which are closest to the positions of the K robots in the C; the region dividing module divides the target region into K sub-regions to be covered; and the parallel path planning module respectively generates covering paths in the K sub-areas. And the K robot terminals corresponding to the C move in parallel according to the corresponding coverage paths. The invention can solve the problem of distributing the optimal robot to the current coverage task and realize the optimal path planning.

Description

Task planning method of heterogeneous multi-robot system under full-coverage application
Technical Field
The invention belongs to the technical field of multiple robots, and particularly relates to a task planning method for heterogeneous multiple robots under full-coverage application. The invention can be applied to multi-robot task planning under the full-coverage scenes of infrastructure inspection, precision agriculture, floor cleaning and the like.
Background
Full coverage refers to finding a continuous path for the robot to cover all the available space of the target area under a specific constraint. Full coverage is the foundation for many robot applications, such as floor cleaning, infrastructure inspection, precision agriculture, and the like. A system composed of a plurality of heterogeneous robots is a heterogeneous multi-robot system which has the capability of executing a plurality of tasks. Task planning of the heterogeneous multi-robot system under full coverage application refers to selecting an optimal robot set from the heterogeneous multi-robot system to allocate to a coverage task according to the coverage task, the number of robots and the type of task load carried by the robots, and planning a coverage path for the allocated robots. The invention relates to two most important contents to task planning: task allocation and path planning.
The traditional task planning method only relates to a task allocation technology or only relates to a path planning technology, and an integral design scheme combining task allocation and path planning is lacked. For example, the document "Zhou, Xing, Huimin Wang, and Bo Ding." How many robot objects area, a multi-objective genetic algorithm for the single-objective time-limited protocol "2018IEEE International Conference on robots and Automation (ICRA)," IEEE,2018. "(i.e., Weekstar, Wang Huan Min, Ding." How many robots are sufficient: "Multi-object genetic algorithm for the Single-object time-Limit complete coverage problem" 2018IEEE robot and Automation International Conference (ICRA), IEEE2018 ") describes a task assignment method under full coverage application, by using genetic algorithm, the least number of robots are selected and the coverage tasks are assigned to the robots as evenly as possible. Although the method distributes the covering tasks to the multiple robots in a balanced manner as possible, the robot needs to move from the same starting point to the respective areas to execute the covering tasks due to the fact that path planning is not considered, and therefore additional movement energy consumption is introduced. The documents "Balampanis, Fotis, Ivan Maza, and Anibal Olero" Area part for customer Regions with Multiple UAS. "Journal of Intelligent and Robotic Systems 88.2(2017): 751-766." (i.e.Balampanis, Fotis, Ivan Maza, and Anibal Olero, "regional division of Coastal areas with Multiple" unmanned flight Systems "", the Smart and robotics System Magazine 88.2(2017): page 751-766) proposes a method for multi-heterogeneous unmanned aerial vehicle path planning, which assumes that the heterogeneous robots assigned to the current coverage task and their capability ratios are known, divides the target Area into Multiple sub-areas of different sizes according to the robot capability ratios, and then designs a coverage path for a single robot on each sub-Area. Although the method can plan paths for heterogeneous robots, the number of robots and the capacity thereof in the method are preset, the problem of optimal task allocation is not considered, coverage tasks are diverse in practical application, the number of corresponding optimal robots is correspondingly changed, and the robots with fixed number may cause failure of the coverage tasks or waste of robot resources.
Based on the above problems, it is found that how to design an overall scheme including two contents of task allocation and path planning for the task planning problem of the heterogeneous multi-robot system under full coverage application, so that the problem of allocating an optimal robot to a current coverage task from the heterogeneous robot system can be solved, the problem of planning an optimal path for allocating the robot can be solved, and the technical problem to be solved for full coverage task planning is solved.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a heterogeneous multi-robot task planning method under full coverage application, which can not only solve the problem of distributing an optimal robot to a current coverage task in a heterogeneous multi-robot system, but also realize optimal path planning of a multi-heterogeneous robot.
In order to solve the problem, the invention provides a heterogeneous multi-robot task planning method under full-coverage application.
The specific technical scheme is as follows:
firstly, constructing a heterogeneous multi-robot task planning system under full-coverage application. The heterogeneous multi-robot task planning system is composed of a server, a client and a robot terminal. The server is a server, and a heterogeneous multi-robot task allocation module and a heterogeneous multi-robot path planning module are installed on the server;
the client is a server or a PC or a mobile terminal, a unified robot definition format file (URDF file for short) is stored on the client, a laser radar, a binocular camera and other detection sensors are arranged on the client, information (including the Area, the obstacle and the boundary of a target Area) of the target Area is obtained through the detection sensors, the total Area to be covered of the target Area is calculated, a strategy selection parameter Stra is determined, the URDF files of N heterogeneous robots, the information of the target Area and the Area to be covered of the target Area are sent to the heterogeneous multi-robot task allocation module, and the Stra is sent to the heterogeneous multi-robot path planning module;
the heterogeneous multi-robot task allocation module is connected with the client and the heterogeneous multi-robot path planning module and consists of a robot selection module and an environment modeling module. The robot selection module is connected with the client and the environment modeling module, receives the URDF file and the Area to be covered of the target Area (namely, the total Area of the target Area minus the total Area of the obstacles in the target Area), matches the covering task with the robot capacity to obtain an optimal robot set C (containing K robots, K is more than or equal to 1 and less than or equal to N) and a covering Area set CA which are distributed to the covering task, and sends the C and the CA to the environment modeling module. The environment modeling module is connected with the client, the robot selection module and the heterogeneous multi-robot path planning module, acquires the total Area to be covered, obstacles and boundary information of a target Area from the client, carries out grid modeling on the target Area to obtain a two-dimensional grid matrix D after modeling, acquires C and CA from the robot selection module, combines the two-dimensional grid matrix D obtained by modeling to obtain a grid number set G to be covered and a starting grid coordinate set S thereof of each robot in the robot set C, and sends C, D, G, S, H to the heterogeneous multi-robot path planning module.
The heterogeneous multi-robot path planning module is connected with the heterogeneous multi-robot task allocation module, the client and the N robot terminals and consists of two sub-modules, namely a region division module and a parallel path planning module. The area division module is connected with the client, the environment modeling module and the parallel path planning module and consists of an initial division module and a secondary division module. The initial division module is connected with the client, the environment modeling module and the secondary division module, acquires a two-dimensional grid matrix D after the grid modeling of a target area, an optimal allocation robot set C and an initial grid set S thereof, the number G of grids to be covered and a grid number ratio value set H from the environment modeling module, acquires a strategy selection parameter Stra from the client, performs initial division on the target area to obtain an initial subregion set P, and sends the P to the secondary division module. And the secondary division module is connected with the initial division module and the parallel path planning module, performs secondary division on the P received from the initial division module to obtain an accurate region division result P ', and sends the P' to the parallel path planning module. And the parallel path planning module is connected with the secondary division module and the N robot terminals, acquires accurate subregion division results P 'of the K robots in the C from the secondary division module, then plans paths in the K subregions to be covered in parallel in the P' to obtain the covering paths of the K robots, and respectively outputs the covering paths of the K robots to the K robot terminals corresponding to the C.
And the N robot terminals are N robots corresponding to the URDF files, wherein K robots receive corresponding coverage paths from the parallel path planning module and move according to the corresponding coverage paths in parallel to generate K motion tracks so as to realize complete coverage of the target area.
And secondly, acquiring information (including the Area, the obstacle and the boundary of the target Area) of the target Area by a detection sensor of the client, calculating the total Area to be covered of the target Area according to the information of the target Area, wherein the method is to subtract the total Area of the obstacle in the target Area from the total Area of the target Area, send the URDF files of the N heterogeneous robots and the Area to be covered of the target Area to the robot selection module, and send the information of the target Area to the environment modeling module.
Thirdly, the client determines a strategy selection parameter Stra, and the method comprises the following steps: if the user focuses on path planning at a planning speed (i.e., the speed requirement is high), let Stra be 1; if the user focuses on the path planning in the quality of the path (i.e. the requirement on the quality is high (e.g. the number of turns of the robot, the shape of the regular subarea, etc. are as few as possible), Stra is made to be 2, and Stra is sent to the initial partitioning module.
Fourthly, the robot selection module receives URDF files of the N heterogeneous robots and the Area to be covered of the target Area from the client, and defines a heterogeneous multi-robot set A ═ a according to the URDF files1,a2,…,an,…,aNN is a positive integer, N is more than or equal to 1 and less than or equal to N, anThe serial number of the nth robot in A.
Fifthly, the robot selection module allocates the optimal K robots to the coverage tasks from the heterogeneous multi-robot set A according to the URDF files corresponding to the N robots in the A and the Area to be covered of the target Area, and the K robots form an optimal robot set C ═ C { C }1,c2,…,ck,…,cKK is a positive integer, K is more than or equal to 1 and less than or equal to N, and K is more than or equal to 1 and less than or equal to K. The specific process is as follows:
5.1, constructing a heterogeneous robot capability model, so that a robot set with a coverage capability can be screened from the heterogeneous multi-robot set A. The method comprises the following specific steps:
5.1.1 construct a robot ontology, which refers to a formalized, clear and detailed description of a shared conceptual hierarchy. The method for constructing the robot ontology comprises the following steps: the physical structure and the capability of the robot are abstracted into two types: capabilities class and structure class. The capability class comprises 6 subclasses of motion capability, load capability, cruising capability, computing capability, communication capability, perception capability and the like; the structural classes include 3 subclasses of base, rotation matrix, joint, etc. Each subclass has its subclass below, and each subclass contains various attributes, which are supplementary descriptions for each subclass and can be any data type such as characters, numbers, etc.
And 5.1.2 according to the URDF files of the robots, performing ontology instantiation on the N robots in the A to obtain N heterogeneous robot ontology examples. For the nth robot anThis step is in fact based on anThe URDF file adopts the data structure of the ontology to anTo describe, get anExample of an ontology.
5.1.3 define robot coverage task descriptions. The task description comprises R skills which are necessary for the robot to execute an overlay task, and a Skill set Skill ═ Skill { (Skill) } is used1,Skill2,...,Skillr,...,SkillRR is a positive integer, and R is more than or equal to 1 and less than or equal to R.
5.1.4 according to the principle that the robot executing the covering task must have all the skills in the description of the covering task, the main body examples of the N robots in A are inferred, M robots with covering capability are screened from A, and a robot set B with covering capability is formed, wherein the robot set B is { B {1,b2,...,bm,...,bMM is a positive integer, M is more than or equal to 1 and less than or equal to N, and M is more than or equal to 1 and less than or equal to M.
5.2 a mathematical model based on the robot coverage area is formulated so that the optimal set of robots to be assigned to the current coverage task is derived from the set of robots B. The method comprises the following steps:
5.2.1 construct a mathematical model based on the robot coverage area, as shown in formulas (1), (2), (3):
Figure BDA0002812336270000041
(area(1),area(2),...,area(m),...,area(M))·(y1,y2,...,ym,...,yM)Tequation (2) of not less than Area
ymE {0, 1}, i ═ 1, 2,.., M equation (3)
Wherein y ismIs a variable that indicates whether the mth robot in B is assigned to the overlay task, and if so, y m1, otherwise y m0; area (m) represents the maximum coverage area of the mth robot in the robot set B, which is equal to the product of the battery life, the maximum operating speed, and the sensing range of the loaded sensor of the mth robot. The significance of equation (1) is to minimize the number of robots assigned to the coverage task; the significance of equation (2) is that the cumulative coverage Area of the assigned robots should be greater than or equal to the Area to be covered of the target Area.
5.2.2 the mathematical model based on the robot coverage area is a typical 0-1 integer linear programming model, which can be solved by the existing solving tool (e.g. MATLAB, 2016, MATLAB user manual, published by Higham, Desmond J. and Nichlas J. Higham et al in the Industrial and applied mathematics society), and the optimal solution corresponds to the optimal K robots assigned to the current coverage task, forming the optimal robot set C ═ C ═ C1,c2,...,ck,...,cKK is a positive integer, K is more than or equal to 1 and less than or equal to M, and K is more than or equal to 1 and less than or equal to K.
5.2.3 for the optimal robot set C, the area actually covered by K robots in C is calculated to obtain an area set CA, CA ═ CA1,ca2,...,cak,...,caK},cakThe area actually covered by the kth robot, cakCalculated according to equation (4) as follows:
Figure BDA0002812336270000051
where CArea represents the sum of the maximum coverage areas of K robots in C, area (K) represents the maximum coverage area of the kth robot in C, and area (K) is equal to the product of the battery life, the maximum operating speed, and the sensing range of the loaded sensor of the kth robot.
And sixthly, the environment modeling module receives the information of the target area from the client, carries out environment modeling on the target area, receives C and CA from the robot selection module, calculates the number of grids which need to be covered by K robots in C, and counts the grids closest to the positions of the K robots in C. The method comprises the following steps:
6.1 the target area is subjected to grid modeling by using STC grid modeling method (see article 'coverage method of single mobile robot to continuous area based on Spanning tree's) published in journal mathematics and artificial intelligence yearbook by Gabrily, Yoav and E.Rimon et al in 2001, so as to obtain a two-dimensional grid map with length X and width Y, which is represented by a two-dimensional matrix D, D { (D (X, Y), X ≦ 1 ≦ X, Y ≦ 1 ≦ Y ≦ Y, X and Y are positive integers }, D (X, Y) is a value of a grid with X as an abscissa and Y as an ordinate, and if D (X, Y) ═ 0, the grid is represented as an obstacle, and if D (X, Y) ═ 1, the grid belongs to the area to be covered.
6.2 calculate the number of grids that K robots in C need to cover, using the grid number set G ═ G1,g2,…,gk,…,gKIndicates the number g of grids covered by the kth robot in CkCalculating according to the formula (5):
Figure BDA0002812336270000052
where T represents the field of view area of the sensor mounted on the robot. Dividing K elements in G by the greatest common divisor of the K elements to obtain grid number ratio of K robots in the set C, and using the grid number ratio value set H ═ H1,h2,…,hk,…,hKDenotes, hkIs the grid number ratio of the kth robot in C.
6.3 statistical two-dimensional matrix D, K grids closest to the positions of K robots in C form a starting grid set S ═ S (x)1,y1),…,s(xk,yk),…,s(xK,yK)},s(xk,yk) Is the starting grid for the kth robot in C.
And seventhly, the area division module receives the optimal robot set C and the grid number set G, the grid number ratio set H, the initial grid set S and the two-dimensional grid matrix D which are expected to need to be covered from the environment modeling module, acquires a strategy selection parameter Stra from the client, divides the target area into K sub-areas to be covered through initial division and secondary division, and sends the K sub-areas to be covered to the parallel path planning module. The method comprises the following steps:
7.1 the initial partitioning module initially partitions the two-dimensional matrix D into K subregions, and uses the initial subregion set P ═ P1,p2,…,pk,…,pKDenotes, pkIs the set of grids that the k-th robot in C needs to cover. The specific method comprises the following steps:
7.1.1 allocate the starting grid of K robots in set C as the first allocation grid into the initial set of sub-areas P. The method comprises the following steps:
7.1.1.1 let the robot number k equal to 1 and let the kth sub-area
Figure BDA0002812336270000061
7.1.1.2 center robot CkS (x) ofk,yk) As the first allocated grid to be allocated to sub-region pkInstant pk={s(xk,yk)}。
7.1.1.3 let k ═ k +1, gk ═ gk-1;
7.1.1.4 if K is less than or equal to K, turning to 7.1.1.2; otherwise, 7.1.2 is rotated;
and 7.1.2, referring to the expected grid number G and the grid number ratio H of each robot in the C, alternately allocating other unallocated grids in the two-dimensional grid matrix D to each sub-area. The method comprises the following steps:
7.1.2.1, let the robot serial number k equal to 1;
7.1.2.2 calculating the sum of the elements in G
Figure BDA0002812336270000062
The significance of the method is to count the number of grids which are not distributed in the two-dimensional grid matrix D. If it is
Figure BDA0002812336270000063
The grids to be covered in the two-dimensional grid matrix D are all allocated to K robots in the robot C, and 7.2 is turned; otherwise, it indicates that there are also K robots in the two-dimensional grid matrix D for which grids have not been assigned to C, go to 7.1.2.3.
7.1.2.3 statistics and sub-region pkAdjacent unassigned meshes. Define unallocated grid D (x1, y1) and sub-region p in DkAdjacent, X1 is the abscissa, Y1 is the ordinate, 1 ≦ X1 ≦ X,1 ≦ Y1 ≦ Y, and if and only if the subregion pkWherein the presence grid d (x, y) satisfies the following condition,
Figure BDA0002812336270000064
d (x1, y1) ≠ 0 equation (7)
Equation (6) states that in D the adjacent grid coordinates should be in the same row adjacent column or the same column adjacent row; the significance of equation (7) is to ensure that the neighboring cells are the cells to be covered and not the obstacles. Will be associated with sub-region pkThe contiguous and unassigned mesh constitutes a sub-region pkCandidate mesh set E ofk,Ek={e(x1,y1),e(x2,y2),...,e(xq,yq),...e(xQ,yQ)},e(xq,yq)≠0,e(xq,yq) Belongs to D, Q is a positive integer, and Q is more than or equal to 1 and less than or equal to Q.
7.1.2.4 selecting parameter Stra according to strategy obtained from client, from candidate grid set EkIn the selection of hkA grid assigned to the sub-region pk. The method comprises the following steps:
7.1.2.4.1 if Stra is 1, from candidate mesh set EkIn, randomly choosing hkA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF }. Turning to 7.1.2.5;
7.1.2.4.2 if Stra is 2, from candidate mesh set EkIn the method, a grid s is selected and started in sequencekH nearest tokA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF }. Turning to 7.1.2.5;
7.1.2.5 order gk=gk-hk,k=k+1;
7.1.2.6 if K is less than or equal to K, turning to 7.1.2.2; otherwise, go to 7.1.2.1.
7.2 the secondary division module receives the initial subregion set P from the initial region division module, precisely divides the two-dimensional grid matrix D into K subregions by secondary division, the K subregions form a precise subregion set P ', and outputs P' to the parallel path planning module. The method comprises the following steps:
7.2.1 let P ' ═ P, where P ' ═ P '1,p’2,…,p’k,…,p’KI.e. P' is initialized with P.
7.2.2 calculate the deviation between the actual distribution grid number and the expected distribution grid number for the K sub-regions in P'. The method comprises the following steps:
7.2.2.1 setting the robot serial number k to 1, initializing the grid number deviation set
Figure BDA0002812336270000071
7.2.2.2 order G '═ G', | Gk|},|gkI represents gkAbsolute value of (a), gkThe value is positive and denotes a sub-region p'kThe actual number of meshes in (1) is less than it is expected by gkA grid, gkValue is negative and denotes a subregion p'kThe actual number of meshes in (a) is g more than it is expectedkA grid.
7.2.2.3 if K is less than or equal to K, let K be K +1, turn to 7.2.2.2; otherwise, go to 7.2.3.
7.2.3 if max (G ') -0, max (G ') is the maximum value for the elements in the set G ', max (G ') -0 indicates that the number of actual allocation grids of K sub-regions in P ' is equal to the expected number of allocation grids, go 7.2.9; otherwise, counting the sub-regions with a value equal to ± max (G') (i.e. counting the set of sub-regions with the largest difference from its expected distribution grid number), and forming the maximum deviation sub-region set PG ═ PG { (PG)1,pg2,…,pgi,…,pgII is a positive integer, I is more than or equal to 1 and less than or equal to K, I is more than or equal to 1 and less than or equal to I,
Figure BDA0002812336270000072
pgifor the ith sub-region in PG, go to 7.2.4.
7.2.4 creating a search tree and randomly selecting an element from the PG (let be PG)i) As the root node of the search tree, and then generating sub-nodes of each layer of the search tree step by step until the possible sum pg is found in the sub-nodes of a certain layeriUp to the sub-region where the second redistribution is performed. The method comprises the following steps:
7.2.4.1 let the number j of nodes in search tree be 2, and let the j-1 layer node set T of search tree be { pgi}。
7.2.4.2, the jth node of the search tree is generated to form a jth node set TT. The method comprises the following steps:
7.2.4.2.1, let the element number l in T equal to 1,
Figure BDA0002812336270000073
7.2.4.2.2 find the sub-region adjacent to the l-th element in T. The sub-region u is defined to be adjacent to the sub-region v, and if and only if there is a grid d (x, y) in u, there is a grid d (x1, y1) in the sub-region v, equation (6) is satisfied. Screening out a subregion tr adjacent to the l-th subregion in T in DoForming a set of subregions TR, TR ═ { TR }1,…,tro,…,trOO is a positive integer, O is more than or equal to 1 and less than or equal to K, O is more than or equal to 1 and less than or equal to O,
Figure BDA0002812336270000074
trois the o-th sub-region in TR.
7.2.4.2.3 let TT be { TT, TR };
7.2.4.2.4 if l | | T | |, and | T | | represents the number of elements of T, it represents that all the adjacent sub-regions of T have been searched, and these adjacent sub-regions form the jth layer node set TT of the search tree, turning to 7.2.4.3; otherwise, l equals l + 1. Turning to 7.2.4.2.2;
7.2.4.3 if there is a subregion tr in TToSatisfy the following requirements
Figure BDA0002812336270000075
If there is, it means that there is a possible sum pgiSub-regions for secondary reallocation, which constitute a secondary allocation sub-region set TTS,
Figure BDA0002812336270000081
randomly choosing an element from TTS (let tr beo) Turning to 7.2.5; otherwise, turning to 7.2.4.4;
7.2.4.4 let j equal j +1 and T equal TT. Turning to 7.2.4.2;
7.2.5 Slave node troInitially, backtracking is performed step by step along the search tree until a root node pg is encounterediAnd forming a trace-back path sub-region set W as { W ═ W by nodes encountered in the trace-back process1,w2,...,wz,...,wZZ is a positive integer, Z is more than or equal to 1 and less than or equal to K, Z is more than or equal to 1 and less than or equal to Z,
Figure BDA0002812336270000082
wherein w1=tro,wZ=pgi
7.2.6 if
Figure BDA0002812336270000083
Description sub-region pgiLess than the expected number of allocations, go to 7.2.7; otherwise, it indicates that the actual grid allocation number of sub-region pgi is greater than the expected allocation number, and turns to 7.2.8.
7.2.7 picking from other sub-regionsSelecting a grid, assigning it twice to sub-regions pgi. The method comprises the following steps:
7.2.7.1 let the actual secondary allocation sub-region set W1 ═ W1,w2,...,wz,…,wZ-1},
Figure BDA0002812336270000084
Let the sub-region number z in W1 be 1.
7.2.7.2 from subregion wzOne grid d (x, y) is selected and transferred to the sub-region wz+1Zhongyiling (w)z+1={wz+1,d(x,y)},wz=wz- { d (x, y) }. The selected grid needs to satisfy the following conditions: after the second allocation, the sub-region { w }z+1D (x, y) } is still connected, defining that the sub-regions are connected, and that there is at least one neighboring grid if and only if each grid within the sub-region.
7.2.7.3 let z be z + 1;
7.2.7.4 if Z is equal to Z-1, then let
Figure BDA0002812336270000085
7.2.2; otherwise, go to 7.2.7.2.
7.2.8 assign one grid, two times, inside the sub-region pgi to the other sub-regions. The method comprises the following steps:
7.2.8.1 let W1 ═ W2,...,wz,...,wZLet z be 1.
7.2.8.2 from sub-region wz+1One grid is selected and transferred to the sub-region wzI.e. wz={wz,d(x,y)},wz+1=wz+1- { d (x, y) }. The selected grid needs to satisfy the following conditions: after the second dispensing, the sub-regions are still connected.
7.2.8.3 let z ═ z + 1;
7.2.8.4 when Z is equal to Z-1, the reaction
Figure BDA0002812336270000086
7.2.2; otherwise, go to 7.2.8.2.
7.2.9, obtaining an accurate subregion set P 'through secondary division, and sending P' to the parallel path planning module.
Eighthly, the parallel path planning module receives the accurate sub-region set P 'from the region partitioning module, and executes a single-robot Spanning tree coverage path planning algorithm in parallel on K sub-regions of P' (2001, a span-tree based coverage of continuous regions by a single mobile robot based on Spanning trees, namely, "coverage method of continuous regions by a single mobile robot based on Spanning trees" published by gabrily, Yoav, e.mon and the like in journal mathematics and artificial intelligence yearbook), respectively generates one coverage path in the K sub-regions, generates K coverage paths, and respectively sends the K coverage paths to K robot terminals corresponding to C.
And ninthly, receiving corresponding coverage paths in parallel by the K robot terminals corresponding to the C, moving according to the corresponding coverage paths in parallel (generally, moving while executing tasks), and generating K motion tracks, wherein the K motion tracks can realize complete coverage on the target area.
The invention can achieve the following technical effects:
1. the invention constructs a heterogeneous multi-robot task planning system under full coverage application in the first step, and the two modules of task allocation and path planning of the system can solve the problem that the optimal robot is allocated to the current coverage task in the heterogeneous multi-robot system and can realize the optimal path planning of the heterogeneous multi-robot.
2. The fourth step to the sixth step of the invention are that the heterogeneous multi-robot task allocation module screens out a heterogeneous robot set B with the coverage capability from the heterogeneous multi-robot set A by establishing a heterogeneous multi-robot capability model based on a body; and (4) distributing an optimal robot set C from the B to the coverage task by establishing a mathematical model based on the coverage area.
3. The heterogeneous multi-robot path planning module performs initial division on a target area through an initial division module to obtain an initially divided sub-area set P; and obtaining an accurate subregion set P' through a secondary subregion division module.
In order to verify the feasibility of the invention, the invention is compared with the coverage method proposed by Zhouying et al and the coverage method proposed by Kueng et al, and the experimental result shows that the invention not only improves the solving precision, but also enlarges the solving scale of the coverage problem.
Drawings
FIG. 1 is an overall flow chart of the present invention;
FIG. 2 is a logical structure diagram of a task planning system of a heterogeneous multi-robot system under full coverage application constructed by the present invention;
FIG. 3 is a comparison experiment result of Mofint and DARP of the present invention and the existing coverage algorithm and the ideal value (theoretical optimal planning result, i.e. the total number of grids to be covered in the target area divided by the value K); fig. 3(a) is a result of experimental comparison of 55 meshes by 55 meshes of the target area size, 10% of the obstacle density, and the number of robots from 10, 20, 30, and 40 to 50, fig. 3(b) is a result of experimental comparison of 55 meshes by 20% of the target area size, 20% of the obstacle density, and a result of experimental comparison of 10 meshes by 20 meshes by 50 robots by 3, fig. 3(c) is a result of experimental comparison of 100 meshes by 10% of the target area size, 10% of the obstacle density, and 100 meshes by 10 meshes by 30, 50 meshes by 80;
FIG. 4 is a comparison experiment result of the present invention with an ideal result (theoretical optimal planning result, i.e. the product of the coverage percentage value of the robot and the total number of grids to be covered in the target area) in a general heterogeneous multi-robot scenario; fig. 4(a) is a result of experimental comparison in which the target area size is 55 × 55 mesh, the obstacle density is 10%, and the number of robots is from 10, 30, and 40 to 50, fig. 4(b) is a result of experimental comparison in which the target area size is 100 × 100 mesh, the obstacle density is 10%, and the number of robots is from 10, 50, and 100 to 150, fig. 4(c) is a result of experimental comparison in which the target area size is 200 × 200 mesh, the obstacle density is 10%, the number of robots is from 50, 100, and 150 to 200, and fig. 4(d) is a result of experimental comparison in which the target area size is 100 × 100 mesh, the obstacle density is 10%, and the number of robots is from 10, 100, and 200 to 300.
Detailed Description
FIG. 1 is a general flow diagram of the present invention; as shown in fig. 1, the present invention comprises the steps of:
firstly, constructing a heterogeneous multi-robot task planning system under full-coverage application. The heterogeneous multi-robot task planning system is shown in fig. 2 and comprises a server, a client and a robot terminal. The server is a server, and a heterogeneous multi-robot task allocation module and a heterogeneous multi-robot path planning module are installed on the server;
the client is a server or a PC or a mobile terminal, a unified robot definition format file (URDF file) is stored on the client, a laser radar, a binocular camera and other detection sensors are arranged on the client, information (including the Area, the barrier and the boundary of a target Area) of the target Area is obtained through the detection sensors, the total Area to be covered of the target Area is calculated, a strategy selection parameter Stra is determined, the URDF files, the information and the Area to be covered of the target Area of the N heterogeneous robots are sent to the heterogeneous multi-robot task allocation module, and the Stra is sent to the heterogeneous multi-robot path planning module;
the heterogeneous multi-robot task allocation module is connected with the client and the heterogeneous multi-robot path planning module and consists of a robot selection module and an environment modeling module. The robot selection module is connected with the client and the environment modeling module, receives the URDF file and the Area to be covered of the target Area from the client, matches the covering task with the robot capacity to obtain an optimal robot set C (containing K robots, K is more than or equal to 1 and less than or equal to N) and a covering Area set CA which are distributed to the covering task, and sends the C and the CA to the environment modeling module. The environment modeling module is connected with the client, the robot selection module and the heterogeneous multi-robot path planning module, acquires the total Area to be covered, obstacles and boundary information of a target Area from the client, carries out grid modeling on the target Area to obtain a two-dimensional grid matrix D after modeling, acquires C and CA from the robot selection module, combines the two-dimensional grid matrix D obtained by modeling to obtain a grid number set G to be covered and a starting grid coordinate set S thereof of each robot in the robot set C, and sends C, D, G, S, H to the heterogeneous multi-robot path planning module.
The heterogeneous multi-robot path planning module is connected with the heterogeneous multi-robot task allocation module, the client and the N robot terminals and consists of two sub-modules, namely a region division module and a parallel path planning module. The area division module is connected with the client, the environment modeling module and the parallel path planning module and consists of an initial division module and a secondary division module. The initial division module is connected with the client, the environment modeling module and the secondary division module, acquires a two-dimensional grid matrix D after the grid modeling of a target area, an optimal allocation robot set C and an initial grid set S thereof, the number G of grids to be covered and a grid number ratio value set H from the environment modeling module, acquires a strategy selection parameter Stra from the client, performs initial division on the target area to obtain an initial subregion set P, and sends the P to the secondary division module. And the secondary division module is connected with the initial division module and the parallel path planning module, performs secondary division on the P received from the initial division module to obtain an accurate region division result P ', and sends the P' to the parallel path planning module. And the parallel path planning module is connected with the secondary division module and the N robot terminals, acquires accurate subregion division results P 'of the K robots in the C from the secondary division module, then plans paths in the K subregions to be covered in parallel in the P' to obtain the covering paths of the K robots, and respectively outputs the covering paths of the K robots to the K robot terminals corresponding to the C.
And the N robot terminals are N robots corresponding to the URDF files, wherein K robots receive corresponding coverage paths from the parallel path planning module and move according to the corresponding coverage paths in parallel to generate K motion tracks so as to realize complete coverage of the target area.
And secondly, acquiring information of a target Area by a detection sensor of the client, calculating the total Area to be covered of the target Area according to the information of the target Area, subtracting the total Area of the obstacles in the target Area from the total Area of the target Area, sending URDF files of the N heterogeneous robots and the Area to be covered of the target Area to a robot selection module, and sending the information of the target Area to an environment modeling module.
Thirdly, the client determines a strategy selection parameter Stra, and the method comprises the following steps: if the user focuses on path planning at a planning speed (i.e., the speed requirement is high), let Stra be 1; if the user focuses on the path planning in the quality of the path (i.e. the requirement on the quality is high (e.g. the number of turns of the robot, the shape of the regular subarea, etc. are as few as possible), Stra is made to be 2, and Stra is sent to the initial partitioning module.
Fourthly, the robot selection module receives URDF files of the N heterogeneous robots and the Area to be covered of the target Area from the client, and defines a heterogeneous multi-robot set A ═ a according to the URDF files1,a2,…,an,…,aNN is a positive integer, N is more than or equal to 1 and less than or equal to N, anThe serial number of the nth robot in A.
Fifthly, the robot selection module allocates the optimal K robots to the coverage tasks from the heterogeneous multi-robot set A according to the URDF files corresponding to the N robots in the A and the Area to be covered of the target Area, and the K robots form an optimal robot set C ═ C { C }1,c2,…,ck,…,cKK is a positive integer, K is more than or equal to 1 and less than or equal to N, and K is more than or equal to 1 and less than or equal to K. The specific process is as follows:
5.1, constructing a heterogeneous robot capability model, so that a robot set with a coverage capability can be screened from the heterogeneous multi-robot set A. The method comprises the following specific steps:
5.1.1 construct a robot ontology, which refers to a formalized, clear and detailed description of a shared conceptual hierarchy. The method for constructing the robot ontology comprises the following steps: the physical structure and the capability of the robot are abstracted into two types: capabilities class and structure class. The capability class comprises 6 subclasses of motion capability, load capability, cruising capability, computing capability, communication capability, perception capability and the like; the structural classes include 3 subclasses of base, rotation matrix, joint, etc. Each subclass has its subclass below, and each subclass contains various attributes, which are supplementary descriptions for each subclass and can be any data type such as characters, numbers, etc.
And 5.1.2 according to the URDF files of the robots, performing ontology instantiation on the N robots in the A to obtain N heterogeneous robot ontology examples. For the nth robot anThis step is in fact based on anThe URDF file adopts the data structure of the ontology to anTo describe, get anExample of an ontology.
5.1.3 define robot coverage task descriptions. The task description comprises R skills which are necessary for the robot to execute an overlay task, and a Skill set Skill ═ Skill { (Skill) } is used1,Skill2,...,Skillr,...,SkillRR is a positive integer, and R is more than or equal to 1 and less than or equal to R.
5.1.4 according to the principle that the robot executing the covering task must have all the skills in the description of the covering task, the main body examples of the N robots in A are inferred, M robots with covering capability are screened from A, and a robot set B with covering capability is formed, wherein the robot set B is { B {1,b2,...,bm,...,bMM is a positive integer, M is more than or equal to 1 and less than or equal to N, and M is more than or equal to 1 and less than or equal to M.
5.2 a mathematical model based on the robot coverage area is formulated so that the optimal set of robots to be assigned to the current coverage task is derived from the set of robots B. The method comprises the following steps:
5.2.1 construct a mathematical model based on the robot coverage area, as shown in formulas (1), (2), (3):
Figure BDA0002812336270000121
(area(1),area(2),...,area(m),...,area(M))·(y1,y2,...,ym,...,yM)Tequation (2) of not less than Area
ymE {0, 1}, i ═ 1, 2,.., M equation (3)
Wherein y ismIs a variable that indicates whether the mth robot in B is assigned to the overlay task, and if so, y m1, otherwise y m0; area (m) represents the maximum coverage area of the mth robot in the robot set B, which is equal to the product of the battery life, the maximum operating speed, and the sensing range of the loaded sensor of the mth robot. The significance of equation (1) is to minimize the number of robots assigned to the coverage task; the significance of equation (2) is that the cumulative coverage Area of the assigned robots should be greater than or equal to the Area to be covered of the target Area.
5.2.2 the mathematical model based on the robot coverage area is a typical 0-1 integer linear programming model, which can be solved by using the existing solving tool (e.g. MATLAB), and the optimal solution corresponds to the optimal K robots allocated to the current coverage task, forming the optimal robot set C ═ { C ═ C1,c2,...,ck,...,cKK is a positive integer, K is more than or equal to 1 and less than or equal to M, and K is more than or equal to 1 and less than or equal to K.
5.2.3 for the optimal robot set C, the area actually covered by K robots in C is calculated to obtain an area set CA, CA ═ CA1,ca2,...,cak,...,caK},cakThe area actually covered by the kth robot, cakCalculated according to equation (4) as follows:
Figure BDA0002812336270000122
where CArea represents the sum of the maximum coverage areas of K robots in C, area (K) represents the maximum coverage area of the kth robot in C, and area (K) is equal to the product of the battery life, the maximum operating speed, and the sensing range of the loaded sensor of the kth robot.
And sixthly, the environment modeling module receives the information of the target area from the client, carries out environment modeling on the target area, receives C and CA from the robot selection module, calculates the number of grids which need to be covered by K robots in C, and counts the grids closest to the positions of the K robots in C. The method comprises the following steps:
and 6.1, carrying out grid modeling on the target area by adopting an STC (space time coding) grid modeling method to obtain a two-dimensional grid map with the length of X and the width of Y, and expressing the two-dimensional grid map by using a two-dimensional matrix D, wherein D is { D (X, Y), X is more than or equal to 1 and less than or equal to X, Y is more than or equal to 1 and less than or equal to Y, X and Y are positive integers }, D (X, Y) is a value of a grid with X abscissa and Y ordinate, if D (X, Y) is 0, the grid is represented as an obstacle, and if D (X, Y) is 1, the grid belongs to the area to be covered.
6.2 calculate the number of grids that K robots in C need to cover, using the grid number set G ═ G1,g2,…,gk,…,gKIndicates the number g of grids covered by the kth robot in CkCalculating according to the formula (5):
Figure BDA0002812336270000131
where T represents the field of view area of the sensor mounted on the robot. Dividing K elements in G by the greatest common divisor of the K elements to obtain grid number ratio of K robots in the set C, and using the grid number ratio value set H ═ H1,h2,…,hk,…,hKDenotes, hkIs the grid number ratio of the kth robot in C.
6.3 statistical two-dimensional matrix D, K grids closest to the positions of K robots in C form a starting grid set S ═ S (x)1,y1),…,s(xk,yk),…,s(xK,yK)},s(xk,yk) Is the starting grid for the kth robot in C.
And seventhly, the area division module receives the optimal robot set C and the grid number set G, the grid number ratio set H, the initial grid set S and the two-dimensional grid matrix D which are expected to need to be covered from the environment modeling module, acquires a strategy selection parameter Stra from the client, divides the target area into K sub-areas to be covered through initial division and secondary division, and sends the K sub-areas to be covered to the parallel path planning module. The method comprises the following steps:
7.1 the initial partitioning module initially partitions the two-dimensional matrix D into K subregions, and uses the initial subregion set P ═ P1,p2,…,pk,…,pKDenotes, pkIs the set of grids that the k-th robot in C needs to cover. The specific method comprises the following steps:
7.1.1 allocate the starting grid of K robots in set C as the first allocation grid into the initial set of sub-areas P. The method comprises the following steps:
7.1.1.1 let the robot number k equal to 1 and let the kth sub-area
Figure BDA0002812336270000132
7.1.1.2 center robot CkS (x) ofk,yk) As the first allocated grid to be allocated to sub-region pkInstant pk={s(xk,yk)}。
7.1.1.3 let k ═ k +1, gk=gk-1;
7.1.1.4 if K is less than or equal to K, turning to 7.1.1.2; otherwise, 7.1.2 is rotated;
and 7.1.2, referring to the expected grid number G and the grid number ratio H of each robot in the C, alternately allocating other unallocated grids in the two-dimensional grid matrix D to each sub-area. The method comprises the following steps:
7.1.2.1, let the robot serial number k equal to 1;
7.1.2.2 calculating the sum of the elements in G
Figure BDA0002812336270000133
The significance of the method is to count the number of grids which are not distributed in the two-dimensional grid matrix D. If it is
Figure BDA0002812336270000134
The grids to be covered in the two-dimensional grid matrix D are all allocated to K robots in the robot C, and 7.2 is turned; otherwise, it indicates that there are also K robots in the two-dimensional grid matrix D for which grids have not been assigned to C, go to 7.1.2.3.
7.1.2.3 statistics and sub-region pkAdjacent undistributed netsAnd (4) grid. Define unallocated grid D (x1, y1) and sub-region p in DkAdjacent, X1 is the abscissa, Y1 is the ordinate, 1 ≦ X1 ≦ X,1 ≦ Y1 ≦ Y, and if and only if the subregion pkWherein the presence grid d (x, y) satisfies the following condition,
Figure BDA0002812336270000141
d (x1, y1) ≠ 0 equation (7)
Equation (6) states that in D the adjacent grid coordinates should be in the same row adjacent column or the same column adjacent row; the significance of equation (7) is to ensure that the neighboring cells are the cells to be covered and not the obstacles. Forming a grid adjacent to the sub-region pk and not allocated into a sub-region pkCandidate mesh set E ofk,Ek={e(x1,y1),e(x2,y2),...,e(xq,yq),...e(xQ,yQ)},e(xq,yq)≠0,e(xq,yq) Belongs to D, Q is a positive integer, and Q is more than or equal to 1 and less than or equal to Q.
7.1.2.4 selecting parameter Stra according to strategy obtained from client, from candidate grid set EkIn the selection of hkA grid assigned to the sub-region pk. The method comprises the following steps:
7.1.2.4.1 if Stra is 1, from candidate mesh set EkIn, randomly choosing hkA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF }. Turning to 7.1.2.5;
7.1.2.4.2 if Stra is 2, from candidate mesh set EkIn the method, a grid s is selected and started in sequencekH nearest tokA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF }. Turning to 7.1.2.5;
7.1.2.5 order gk=gk-hk,k=k+1;
7.1.2.6 if K is less than or equal to K, turning to 7.1.2.2; otherwise, go to 7.1.2.1.
7.2 the secondary division module receives the initial subregion set P from the initial region division module, precisely divides the two-dimensional grid matrix D into K subregions by secondary division, the K subregions form a precise subregion set P ', and outputs P' to the parallel path planning module. The method comprises the following steps:
7.2.1 let P ' ═ P, where P ' ═ P '1,p’2,...,p’k,...,p’KI.e. P' is initialized with P.
7.2.2 calculate the deviation between the actual distribution grid number and the expected distribution grid number for the K sub-regions in P'. The method comprises the following steps:
7.2.2.1 let the robot serial number k equal to i, initialize the grid number deviation set
Figure BDA0002812336270000142
7.2.2.2 order G '═ G', | Gk|},|gkI represents gkAbsolute value of (a), gkThe value is positive and denotes a sub-region p'kThe actual number of meshes in (1) is less than it is expected by gkA grid, gkValue is negative and denotes a subregion p'kThe actual number of meshes in (a) is g more than it is expectedkA grid.
7.2.2.3 if K is less than or equal to K, let K be K +1, turn to 7.2.2.2; otherwise, go to 7.2.3.
7.2.3 if max (G ') -0, max (G ') is the maximum value for the elements in the set G ', max (G ') -0 indicates that the number of actual allocation grids of K sub-regions in P ' is equal to the expected number of allocation grids, go 7.2.9; otherwise, counting the sub-regions with a value equal to ± max (G') (i.e. counting the set of sub-regions with the largest difference from its expected distribution grid number), and forming the maximum deviation sub-region set PG ═ PG { (PG)1,pg2,…,pgi,…,pgII is a positive integer, I is more than or equal to 1 and less than or equal to K, I is more than or equal to 1 and less than or equal to I,
Figure BDA0002812336270000151
pgifor the ith sub-region in PG, go to 7.2.4.
7.2.4 creating a search tree and randomly selecting an element from the PG (let be PG)i) As the root node of the search tree, and then generating sub-nodes of each layer of the search tree step by step until the possible sum pg is found in the sub-nodes of a certain layeriUp to the sub-region where the second redistribution is performed. The method comprises the following steps:
7.2.4.1 let the number j of nodes in search tree be 2, and let the j-1 layer node set T of search tree be { pgi}。
7.2.4.2, the jth node of the search tree is generated to form a jth node set TT. The method comprises the following steps:
7.2.4.2.1, let the element number l in T equal to 1,
Figure BDA0002812336270000152
7.2.4.2.2 find the sub-region adjacent to the l-th element in T. The sub-region u is defined to be adjacent to the sub-region v, and if and only if there is a grid d (x, y) in u, there is a grid d (x1, y1) in the sub-region v, equation (6) is satisfied. Screening out a subregion tr adjacent to the l-th subregion in T in DoForming a set of subregions TR, TR ═ { TR }1,…,tro,…,trOO is a positive integer, O is more than or equal to 1 and less than or equal to K, O is more than or equal to 1 and less than or equal to O,
Figure BDA0002812336270000153
trois the o-th sub-region in TR.
7.2.4.2.3 let TT be { TT, TR };
7.2.4.2.4 if l | | T | |, and | T | | represents the number of elements of T, it represents that all the adjacent sub-regions of T have been searched, and these adjacent sub-regions form the jth layer node set TT of the search tree, turning to 7.2.4.3; otherwise, l equals l + 1. Turning to 7.2.4.2.2;
7.2.4.3 if there is a subregion tr in TToSatisfy the following requirements
Figure BDA0002812336270000154
If there is, it means that there is a possible sum pgiSub-regions for performing a secondary redistribution, the sub-regions constitutingThe sub-region set TTS is allocated twice,
Figure BDA0002812336270000155
randomly choosing an element from TTS (let tr beo) Turning to 7.2.5; otherwise, turning to 7.2.4.4;
7.2.4.4 let j equal j +1 and T equal TT. Turning to 7.2.4.2;
7.2.5 Slave node troInitially, backtracking is performed step by step along the search tree until a root node pg is encounterediAnd forming a trace-back path sub-region set W as { W ═ W by nodes encountered in the trace-back process1,w2,…,wz,…,wZZ is a positive integer, Z is more than or equal to 1 and less than or equal to K, Z is more than or equal to 1 and less than or equal to Z,
Figure BDA0002812336270000156
wherein w1=tro,wZ=pgi
7.2.6 if
Figure BDA0002812336270000157
Description sub-region pgiLess than the expected number of allocations, go to 7.2.7; otherwise, sub-region pg is declarediThe actual number of grid allocations is greater than the expected number of allocations, turning to 7.2.8.
7.2.7 selects a grid from the other sub-regions, assigns it twice to sub-region pgi. The method comprises the following steps:
7.2.7.1 let the actual secondary allocation sub-region set W1 ═ W1,w2,…,wz,…,wZ-1},
Figure BDA0002812336270000158
Let the sub-region number z in W1 be 1.
7.2.7.2 from subregion wzOne grid d (x, y) is selected and transferred to the sub-region wz+1Zhongyiling (w)z+1={wz+1,d(x,y)},wz=wz- { d (x, y) }. The selected grid needs to satisfy the following conditions: after the second allocation, the sub-region { w }z+1D (x, y) } is still connected, fixedThe meaning sub-region is connected, and there is at least one neighboring mesh if and only if each mesh within the sub-region.
7.2.7.3 let z be z + 1;
7.2.7.4 if Z is equal to Z-1, then let
Figure BDA0002812336270000161
7.2.2; otherwise, go to 7.2.7.2.
7.2.8 sub-regions pgiOne grid inside, secondary to other sub-regions. The method comprises the following steps:
7.2.8.1 let W1 ═ W2,...,wz,...,wZLet z be 1.
7.2.8.2 from sub-region wz+1One grid is selected and transferred to the sub-region wzI.e. wz={wz,d(x,y)},wz+1=wz+1- { d (x, y) }. The selected grid needs to satisfy the following conditions: after the second dispensing, the sub-regions are still connected.
7.2.8.3 let z ═ z + 1;
7.2.8.4 when Z is equal to Z-1, the reaction
Figure BDA0002812336270000162
7.2.2; otherwise, go to 7.2.8.2.
7.2.9, obtaining an accurate subregion set P 'through secondary division, and sending P' to the parallel path planning module.
And eighthly, the parallel path planning module receives the accurate sub-region set P 'from the region dividing module, executes a single robot spanning tree coverage path planning algorithm in parallel on K sub-regions of P', respectively generates a coverage path in the K sub-regions, generates K coverage paths, and respectively sends the K coverage paths to K robot terminals corresponding to the C.
And ninthly, receiving corresponding coverage paths in parallel by the K robot terminals corresponding to the C, moving according to the corresponding coverage paths in parallel (executing tasks while moving), and generating K motion tracks, wherein the K motion tracks can realize complete coverage on the target area.
FIG. 3 shows How many robots are sufficient to solve the problem of single target time-limited full coverage, IEEE robot and Automation International Conference, 2018, DARP ("Kaposis, Athanasios, savvasvas A. Chatzichios, and B. Kosmosis," DARP: binary area, and 20186, "Journal of multiple machines, Journal of the best version of the system, and" Journal of the best version of the system ",663," horizontal to vertical to horizontal "and" horizontal to vertical to horizontal to vertical to horizontal to vertical to, page 663 to page 680 of 2017). The experimental environment is as follows: there are two types of target area sizes: 55 x 55 grids and 100 x 100 grids; the obstacle density (i.e. the percentage of the number of meshes of the obstacle in the target area to the total number of meshes of the target area) is of two types: 10% and 20%; because the research related to the task planning of the heterogeneous robot is less, the experiment adopts the homogeneous robot to carry out effect comparison so as to illustrate the effect of the invention in the field of the homogeneous robot. Meanwhile, although the experiment adopts the isomorphic robot, the effect of the invention in the field of the heterogeneous robot is not influenced. The number of robots varies from 10, 20, 30, 40, 50, 80 to 100; the starting positions of the robot are randomly distributed. In fig. 3, the abscissa is the number of robots and the ordinate is the maximum number of grids. Fig. 3(a) shows comparison results of the division of the area where the target area size is 55 × 55 meshes, the obstacle density is 10%, and the number of robots is from 10, 20, 30, 40 to 50. Fig. 3(b) shows the results of comparison of the division of the target area size of 55 × 55 meshes, the obstacle density of 20%, and the number of robots from 10, 20, 30, and 40 to 50, and fig. 3(c) shows the results of comparison of the division of the target area size of 100 × 100 meshes, the obstacle density of 10%, and the number of robots from 10, 30, 50, and 80 to 100. Fig. 3(d) is a comparison of experiments in which the target area size is 100 × 100 grids, the obstacle density is 20%, and the number of robots is from 10, 30, 50, 80 to 100.
The method adopts the offset between the maximum grid number and an ideal value (a theoretical optimal planning result, namely the total number of grids to be covered in a target area is divided by a value K) in the K robots to express the accurate performance, the closer the maximum grid number and the ideal value of the robots in the algorithm are, the better the effect of the method is expressed, and the farther the maximum grid number and the ideal value are, the worse the effect of the algorithm is expressed. In some experimental scenarios, the Mofint algorithm and the DARP algorithm do not yield a valid output, which is indicated by a blank in FIG. 3.
As shown in fig. 3(a), in the case where the target area size is 55 × 55 grids and the obstacle density is 10%, as the number of robots increases, the deviation between the output of the Mofint algorithm and the ideal value gradually increases, which indicates that the algorithm effect gradually deteriorates as the number of robots increases, and the deviation between the DARP algorithm and the ideal value is small, which indicates that the effect of the DARP algorithm and the ideal value approaches the ideal value. However, in the case of the target area size of 55 × 55 grids and the obstacle density of 20%, the DARP algorithm cannot obtain an effective output result when the number of robots is 30 or more, and the output of the invention is still approximate to an ideal value as the number of robots increases, which indicates that the effect of the invention is better than that of Mofint and DARP. The same situation appears in fig. 3(c) and 3(d), as the number of robots, the target size and the obstacles increase, the deviation of the output of the Mofint algorithm from the ideal value gradually increases, and the DARP cannot obtain effective output in the scene that the number of robots exceeds 50, but the difference between the maximum output grid number obtained by the algorithm and the ideal value is very small in various scenes such as the variable number of robots, the variable obstacle density and the variable target area size. Therefore, the invention has better performance and larger solution range than Mofint and DARP.
FIG. 4 is a diagram illustrating the experimental effect of the present invention in a general heterogeneous multi-robot scenario. The experimental scenario is specifically set as follows: there are four types of target area sizes: 55 × 55 grids, 100 × 100 grids, 200 × 200 grids, and 300 × 300 grids; the barrier density was set to 10%; the number of robots varies from 10, 30, 40, 50, 100, 150, 200 to 300; the initial positions of the robots are randomly distributed; the coverage capability of each robot is randomly set. Fig. 4(a) is a result of experimental comparison of a target area size of 55 meshes by 55 meshes, an obstacle density of 10%, and the number of robots from 10, 30, and 40 to 50, fig. 4(b) is a result of experimental comparison of a target area size of 100 meshes by 100 meshes, an obstacle density of 10%, and the number of robots from 10, 50, and 100 to 150, fig. 4(c) is a result of experimental comparison of a target area size of 200 meshes by 100 meshes, an obstacle density of 10%, and the number of robots from 50, 100, and 150 to 200, and fig. 4(d) is a result of experimental comparison of a target area size of 100 meshes by 100 meshes, an obstacle density of 10%, and the number of robots from 10, 100, and 200 to 300;
fig. 4 is a diagram showing the experimental effect of the present invention in a general heterogeneous multi-robot scenario, where the abscissa in fig. 4(a) -4(d) represents the number of robots, and the deviation between the experimental result and the ideal grid number cannot be calculated by using the actual maximum and minimum grid numbers because the ideal grid numbers of the heterogeneous robots are different, so that the maximum/minimum Ratio (Ratio) between the ideal grid number and the actual grid number is used to represent the accurate performance of allocation in the embodiment of the present invention, as shown by the ordinate in fig. 4(a) -4 (d). The closer the ratio is to the ideal value of 1, the better the method is. Observing fig. 4(a), the maximum and minimum ratios of the present invention are very close to the ideal values as the number of robots increases, and comparing fig. 4(a), 4(b), 4(c) and 4(d) can find that the maximum and minimum ratios of the present invention are very close to the ideal values as the target area increases. The Mofint and DARP algorithms cannot handle heterogeneous robot scenarios, so the experiment does not list results. In summary, under the condition of variable robot number and variable target area size, the maximum-minimum ratio of the invention is very close to the ideal value, which means that the effect of the invention is close to the optimum.

Claims (8)

1. A task planning method of a heterogeneous multi-robot system under full-coverage application is characterized by comprising the following steps:
the method comprises the steps that firstly, a heterogeneous multi-robot task planning system under full-coverage application is constructed, wherein the heterogeneous multi-robot task planning system consists of a server, a client and a robot terminal; the server is a server, and a heterogeneous multi-robot task allocation module and a heterogeneous multi-robot path planning module are installed on the server;
the client is a server or a PC or a mobile terminal, a file with a unified robot definition format, namely a URDF file, is stored on the client, a detection sensor is arranged on the client, information of a target Area is obtained through the detection sensor, the total Area to be covered of the target Area is calculated, a strategy selection parameter Stra is determined, the URDF files of N heterogeneous robots, the information of the target Area and the Area to be covered of the target Area are sent to a heterogeneous multi-robot task allocation module, and the Stra is sent to a multi-robot path planning module; the information of the target area comprises the area, the obstacle and the boundary of the target area;
the heterogeneous multi-robot task allocation module is connected with the client and the heterogeneous multi-robot path planning module and consists of a robot selection module and an environment modeling module; the robot selection module is connected with the client and the environment modeling module, receives URDF files and the Area to be covered of a target Area from the client, matches a covering task with the robot capacity to obtain an optimal robot set C and a covering Area set CA which are distributed to the covering task, and sends C and CA to the environment modeling module, wherein the C contains K robots, and K is more than or equal to 1 and less than or equal to N; the environment modeling module is connected with the client, the robot selection module and the heterogeneous multi-robot path planning module, acquires Area, obstacle and boundary information from the client, performs grid modeling on a target Area to obtain a two-dimensional grid matrix D after modeling, acquires C and CA from the robot selection module, obtains a grid number set G to be covered, an initial grid coordinate set S and a grid number ratio set H of each robot in the robot set C by combining the two-dimensional grid matrix D obtained by modeling, and sends C, D, G, S, H to the heterogeneous multi-robot path planning module;
the heterogeneous multi-robot path planning module is connected with the heterogeneous multi-robot task allocation module, the client and the N robot terminals and consists of two sub-modules, namely a region division module and a parallel path planning module; the region division module is connected with the client, the environment modeling module and the parallel path planning module and consists of an initial division module and a secondary division module; the initial division module is connected with the client, the environment modeling module and the secondary division module, acquires a two-dimensional grid matrix D after the grid modeling of a target area, an optimal allocation robot set C and an initial grid set S thereof, the number G of grids to be covered and a grid number ratio value set H from the environment modeling module, acquires a strategy selection parameter Stra from the client, performs initial division on the target area to obtain an initial subregion set P, and sends the P to the secondary division module; the secondary division module is connected with the initial division module and the parallel path planning module, performs secondary division on the P received from the initial division module to obtain an accurate region division result P ', and sends the P' to the parallel path planning module; the parallel path planning module is connected with the secondary division module and the N robot terminals, acquires accurate subregion division results P 'of K robots in the C from the secondary division module, then plans paths in K subregions to be covered in parallel in the P' to obtain covering paths of the K robots, and respectively outputs the covering paths of the K robots to the K robot terminals corresponding to the C;
the N robot terminals are N robots corresponding to the URDF files, wherein K robots receive corresponding coverage paths from the parallel path planning module and move according to the corresponding coverage paths to generate K motion tracks;
secondly, a detection sensor of the client acquires information of a target Area, calculates the total Area to be covered of the target Area according to the information of the target Area, sends URDF files of the N heterogeneous robots and the Area to be covered of the target Area to a robot selection module, and sends the information of the target Area to an environment modeling module;
thirdly, the client determines that the strategy selection parameter Stra is 1 or 2, and sends the Stra to the initial dividing module;
fourthly, the robot selection module receives URDF files of the N heterogeneous robots and the Area to be covered of the target Area from the client, and defines a heterogeneous multi-robot set A ═ a according to the URDF files1,a2,...,an,...,aNN is a positive integer, N is more than or equal to 1 and less than or equal to N, anThe serial number of the nth robot in the A is shown;
fifthly, the robot selection module allocates the optimal K robots from A to cover the task according to the URDF files corresponding to the N robots in A and the Area to be covered of the target Area, and the K robots form an optimal robot set C ═ C1,c2,...,ck,...,cKK is a positive integer, K is more than or equal to 1 and less than or equal to N, and K is more than or equal to 1 and less than or equal to K; the method comprises the following steps:
5.1 constructing a heterogeneous robot capability model to screen a robot set with a coverage capability from the A, and the specific steps are as follows:
5.1.1 constructing a robot ontology, wherein the ontology refers to a formal and clear and detailed description of a shared concept system;
5.1.2 according to the URDF file of the robot, instantiating the ontology for N robots in A to obtain N heterogeneous robot ontology examples, and for the nth robot anThis step is according to anThe URDF file adopts the data structure of the ontology to anTo describe, get anAn ontology instance of (a);
5.1.3 define a robot coverage task description containing R skills that are necessary for a robot to perform a coverage task, with the Skill set Skill ═ Skill1,Skill2,...,Skillr,...,SkillRR is a positive integer, and R is more than or equal to 1 and less than or equal to R;
5.1.4 according to the principle that the robot executing the covering task must have all the skills in the description of the covering task, the main body examples of the N robots in A are inferred, M robots with covering capability are screened from A, and a robot set B with covering capability is formed, wherein the robot set B is { B {1,b2,...,bm,...,bMM is a positive integer, M is more than or equal to 1 and less than or equal to N, and M is more than or equal to 1 and less than or equal to M;
5.2, a mathematical model based on the coverage area of the robot is formulated, so that an optimal robot set distributed to the current coverage task is obtained from the robot set B, and the method comprises the following steps:
5.2.1 construct a mathematical model based on the robot coverage area, as shown in formulas (1), (2), (3):
Figure FDA0002812336260000021
(area(1),area(2),...,area(m),...,area(M))·(y1,y2,...,ym,...,yM)Tequation (2) of not less than Area
ymE {0, 1}, i ═ 1, 2,.., M equation (3)
Wherein y ismIs a variable that indicates whether the mth robot in B is assigned to the overlay task, and if so, ym1, otherwise ym0; area (m) represents the maximum coverage area of the mth robot in the robot set B, and the value is equal to the product of the battery endurance, the maximum running speed and the perception range of the loaded sensor of the mth robot;
5.2.2 solving the mathematical model based on the coverage area of the robot, wherein the optimal solution corresponds to the optimal K robots distributed to the current coverage task, and an optimal robot set C ═ { C ═ is formed1,c2,…,ck,…,cK};
5.2.3 calculate the area that K robots in C actually need to cover to get the area set CA, CA ═ CA1,ca2,…,cak,…,caK},cakThe area actually covered by the kth robot, cakCalculated according to equation (4) as follows:
Figure FDA0002812336260000031
wherein, CArea represents the maximum coverage area summation of K robots in C, area (K) represents the maximum coverage area of the kth robot in C, and area (K) is equal to the product of the battery endurance time, the maximum running speed and the perception range of the loaded sensor of the kth robot;
sixthly, the environment modeling module receives information of a target area from the client, carries out environment modeling on the target area, receives C and CA from the robot selection module, calculates the number of grids which need to be covered by K robots in C, and counts the grids closest to the positions of the K robots in C, wherein the method comprises the following steps:
6.1, performing grid modeling on the target area by using an STC grid modeling method to obtain a two-dimensional grid map with the length of X and the width of Y, and using a two-dimensional matrix D to represent, where D is { D (X, Y), X is greater than or equal to 1 and less than or equal to X, Y is greater than or equal to 1 and less than or equal to Y, X and Y are positive integers }, D (X, Y) is a value of a grid with the abscissa of X and the ordinate of Y, and if D (X, Y) is 0, the grid is represented as an obstacle, and if D (X, Y) is 1, the grid belongs to the area to be covered;
6.2 calculate the number of grids that K robots in C need to cover, using the grid number set G ═ G1,g2,…,gk,…,gKIndicates the number g of grids covered by the kth robot in CkCalculating according to the formula (5):
Figure FDA0002812336260000032
wherein T represents a field of view area of a sensor mounted on the robot; dividing K elements in G by the greatest common divisor of the K elements to obtain grid number ratio of K robots in the set C, and using the grid number ratio value set H ═ H1,h2,…,hk,…,hKDenotes, hkThe grid number ratio of the kth robot in the C is obtained;
6.3 statistical two-dimensional matrix D, K grids closest to the positions of K robots in C form a starting grid set S ═ S (x)1,y1),…,s(xk,yk),…,s(xK,yK)},s(xk,yk) Is the starting grid of the kth robot in C;
seventhly, the area division module receives the optimal robot set C and the grid number set G, the grid number ratio set H, the initial grid set S and the two-dimensional grid matrix D which are expected to need to be covered from the environment modeling module, acquires a strategy selection parameter Stra from the client, divides the target area into K sub-areas to be covered through initial division and secondary division, and sends the K sub-areas to be covered to the parallel path planning module, and the method comprises the following steps:
7.1 the initial partitioning module initially partitions the two-dimensional matrix D into K subregions, and uses the initial subregion set P ═ P1,p2,…,pk,…,pKDenotes, pkThe method is a grid set which needs to be covered by the kth robot in the step C, and the specific method is as follows:
7.1.1 allocating the initial grids of the K robots in the set C as first allocation grids to an initial sub-region set P;
7.1.2 referring to the expected grid number G and the grid number ratio H of each robot in the grid matrix C, alternately allocating other unallocated grids in the two-dimensional grid matrix D to each sub-area, wherein the method comprises the following steps:
7.1.2.1, let the robot serial number k equal to 1;
7.1.2.2 calculating the sum of the elements in G
Figure FDA0002812336260000041
If it is
Figure FDA0002812336260000042
The grids to be covered in the two-dimensional grid matrix D are all allocated to K robots in the robot C, and 7.2 is turned; otherwise, indicating that grids are not allocated to the K robots in the C in the two-dimensional grid matrix D, and turning to 7.1.2.3;
7.1.2.3 statistics and sub-region pkAdjacent unassigned mesh, define unassigned mesh D (x1, y1) in D and sub-region pkAdjacent, X1 is the abscissa, Y1 is the ordinate, 1 ≦ X1 ≦ X,1 ≦ Y1 ≦ Y, and if and only if the subregion pkMemory storageIn the case where the grid d (x, y) satisfies the following condition,
Figure FDA0002812336260000043
d (x1, y1) ≠ 0 equation (7)
Will be associated with sub-region pkThe contiguous and unassigned mesh constitutes a sub-region pkCandidate mesh set E ofk,Ek={e(x1,y1),e(x2,y2),...,e(xq,yq),...e(xQ,yQ)},e(xq,yq)≠0,e(xq,yq) Belongs to D, Q is a positive integer, and Q is more than or equal to 1 and less than or equal to Q;
7.1.2.4 selecting parameter Stra according to strategy obtained from client, from candidate grid set EkIn the selection of hkA grid assigned to the sub-region pkThe method comprises the following steps:
7.1.2.4.1 if Stra is 1, from candidate mesh set EkIn, randomly choosing hkA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF, go to 7.1.2.5;
7.1.2.4.2 if Stra is 2, from candidate mesh set EkIn the method, a grid s is selected and started in sequencekH nearest tokA grid of sub-regions pkGrid set FkWill FkIs allocated to sub-region pkI.e. pk={pkF, go to 7.1.2.5;
7.1.2.5 order gk=gk-hk,k=k+1;
7.1.2.6 if K is less than or equal to K, turning to 7.1.2.2; otherwise, go to 7.1.2.1;
7.2 the secondary division module receives the initial subregion set P from the initial region division module, divides the two-dimensional grid matrix D into K subregions accurately by secondary division, the K subregions form an accurate subregion set P ', and outputs P' to the parallel path planning module, the method is:
7.2.1 let P ' ═ P, where P ' ═ P '1,p’2,...,p’k,...,p’KP ', i.e. P' is initialized with P;
7.2.2 calculating the deviation between the actual distribution grid number and the expected distribution grid number of K sub-regions in P 'to obtain a grid number deviation set G';
7.2.3 if max (G ') is equal to 0, indicating that the number of actual distribution grids of K sub-regions in P' is equal to the number of expected distribution grids, max (G ') is the maximum value of the elements in the set G', go to 7.2.9; otherwise, counting sub-regions with a value equal to ± max (G') in G, and forming a maximum deviation sub-region set PG ═ PG1,pg2,...,pgi,...,pgII is a positive integer, I is more than or equal to 1 and less than or equal to K, I is more than or equal to 1 and less than or equal to I,
Figure FDA0002812336260000051
pgifor the ith sub-region in PG, go to 7.2.4;
7.2.4 creating a search tree and randomly selecting an element PG from the PGiAs the root node of the search tree, and then generating sub-nodes of each layer of the search tree step by step until the possible sum pg is found in the sub-nodes of a certain layeriPerforming secondary redistribution until reaching the sub-region; the method comprises the following steps:
7.2.4.1 let the number j of nodes in search tree be 2, and let the j-1 layer node set T of search tree be { pgi};
7.2.4.2 generating the j-th level node of the search tree to form a j-th level node set TT, wherein the TT comprises a subregion set TR, and the TR is { TR ═ TR1,...,tro,...,trOO is a positive integer, O is more than or equal to 1 and less than or equal to K, O is more than or equal to 1 and less than or equal to O,
Figure FDA0002812336260000052
trois the o-th sub-region in TR;
7.2.4.3 if there is a subregion tr in TToSatisfy the following requirements
Figure FDA0002812336260000053
If so, indicate that there is a possible sum pgiSub-regions for secondary reallocation, which constitute a secondary allocation sub-region set TTS,
Figure FDA0002812336260000054
randomly selecting an element from TTS to be troTurning to 7.2.5; otherwise, turning to 7.2.4.4;
7.2.4.4 turn j to j +1 and T to TT to 7.2.4.2;
7.2.5 Slave node troInitially, backtracking is performed step by step along the search tree until a root node pg is encounterediAnd forming a trace-back path sub-region set W as { W ═ W by nodes encountered in the trace-back process1,w2,...,wz,...,wZZ is a positive integer, Z is more than or equal to 1 and less than or equal to K, Z is more than or equal to 1 and less than or equal to Z,
Figure FDA0002812336260000058
Figure FDA0002812336260000059
wherein w1=tro,wZ=pgi
7.2.6 if
Figure FDA0002812336260000057
Description sub-region pgiLess than the expected number of allocations, go to 7.2.7; otherwise, sub-region pg is declarediThe actual grid allocation quantity is more than the expected allocation quantity, and 7.2.8 is turned;
7.2.7 selects a grid from the other sub-regions, assigns it twice to sub-region pgi(ii) a The method comprises the following steps:
7.2.7.1 let the actual secondary allocation sub-region set W1 ═ W1,w2,...,wz,...,wZ-1},
Figure FDA0002812336260000055
Let the neutron region number z of W1 be 1;
7.2.7.2 from subregion wzOne grid d (x, y) is selected and transferred to the sub-region wz+1Zhongyiling (w)z+1={wz+1,d(x,y)},wz=wz- { d (x, y) }; the selected grid satisfies the following conditions: after the second allocation, the sub-region { w }z+1D (x, y) } is still connected, defining that the sub-regions are connected, and if and only if there is at least one neighboring grid for each grid within the sub-region;
7.2.7.3 let z be z + 1;
7.2.7.4 if Z is Z-1, let
Figure FDA0002812336260000056
7.2.2; otherwise, 7.2.7.2 is rotated;
7.2.8 sub-regions pgiAn internal grid is secondarily allocated to other sub-areas, and the method is as follows:
7.2.8.1 let W1 ═ W2,…,wz,…,wZLet z be 1;
7.2.8.2 from sub-region wz+1One grid is selected and transferred to the sub-region wzI.e. wz={wz,d(x,y)},wz+1=wz+1- { d (x, y) }; the selected grid satisfies the following conditions: after the secondary distribution is finished, the sub-regions are still communicated;
7.2.8.3 let z ═ z + 1;
7.2.8.4 when Z is equal to Z-1, the reaction
Figure FDA0002812336260000061
7.2.2; otherwise, go to 7.2.8.2;
7.2.9, obtaining an accurate subregion set P 'through secondary division, and sending P' to the parallel path planning module;
eighthly, the parallel path planning module receives the accurate sub-region set P 'from the region dividing module, executes a single robot spanning tree coverage path planning algorithm in parallel on K sub-regions of P', respectively generates a coverage path in the K sub-regions, generates K coverage paths, and respectively sends the K coverage paths to K robot terminals corresponding to the C;
and ninthly, receiving corresponding coverage paths in parallel with the K robot terminals corresponding to the C, moving according to the corresponding coverage paths in parallel, and generating K motion tracks, wherein the K motion tracks are used for realizing complete coverage of the target area.
2. The method for mission planning in a heterogeneous multi-robot system under full coverage application of claim 1 wherein said detection sensor is a lidar or a binocular camera.
3. The method for mission planning in a heterogeneous multi-robot system under full coverage as recited in claim 1 wherein the second step of calculating the total Area to be covered of the target Area is subtracting the total Area of the target Area from the total Area of the obstacles in the target Area.
4. The method for mission planning in a heterogeneous multi-robot system under full coverage as recited in claim 1, wherein the third step is that said client determines Stra by: if the user focuses on the path planning at the planning speed, let Stra be 1; if the user's focus on path planning is at path quality, let Stra be 2.
5. The mission planning method for a heterogeneous multi-robot system under full coverage application according to claim 1, wherein the method for constructing the robot ontology in step 5.1.1 is: the physical structure and the capability of the robot are abstracted into two types: capabilities and structures; the capability class comprises 6 subclasses of motion capability, load capability, cruising capability, computing capability, communication capability and perception capability; the structural classes comprise 3 subclasses of a base, a rotation matrix and a joint; each subclass has its subclass below, and each subclass contains various attributes, which are supplementary descriptions for each subclass and are arbitrary data types.
6. The method for mission planning of a heterogeneous multi-robot system under full coverage application according to claim 1, wherein said method for solving a mathematical model based on robot coverage area in step 5.2.2 is by using a solving tool MATLAB.
7. The method for mission planning of a heterogeneous multi-robot system under full coverage application according to claim 1, wherein the method for calculating the deviation between the actual distribution grid number and the expected distribution grid number of K sub-areas in P' in 7.2.2 steps is:
7.2.2.1 setting the robot serial number k to 1, initializing the grid number deviation set
Figure FDA0002812336260000062
7.2.2.2 order G '═ G', | Gk|},|gkI represents gkAbsolute value of (a), gkThe value is positive and denotes a sub-region p'kThe actual number of meshes in (1) is less than it is expected by gkA grid, gkValue is negative and denotes a subregion p'kThe actual number of meshes in (a) is g more than it is expectedkA grid;
7.2.2.3 if K is less than or equal to K, let K be K +1, turn to 7.2.2.2; otherwise, obtaining a grid number deviation set G', and ending.
8. The method for mission planning in a heterogeneous multi-robot system under full coverage as claimed in claim 1, wherein step 7.2.4.2 is performed to generate the jth node of the search tree, and the method for forming the jth node set TT is:
7.2.4.2.1, let the element number l in T equal to 1,
Figure FDA0002812336260000071
7.2.4.2.2 finding the sub-region adjacent to the l-th element in T; defining a sub-region u adjacent to the sub-region v if and only if there is a grid d (x, y) in u and a grid d (x1, y1) in the sub-region v, satisfying equation (6); screening out a subregion tr adjacent to the l-th subregion in T in DoForming a set of subregions TR, TR ═ { TR }1,…,tro,…,trOO is a positive integer, O is more than or equal to 1 and less than or equal to K, O is more than or equal to 1 and less than or equal to O,
Figure FDA0002812336260000072
trois the o-th sub-region in TR;
7.2.4.2.3 let TT be { TT, TR };
7.2.4.2.4, if l | | T | |, and | T | | | represents the number of elements of T, it represents that all the adjacent sub-regions of T have been searched, and these adjacent sub-regions form the jth layer node set TT of the search tree, and the process is finished; otherwise, go to 7.2.4.2.2.
CN202011401042.8A 2020-12-02 2020-12-02 Task planning method of heterogeneous multi-robot system under full-coverage application Active CN112462783B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011401042.8A CN112462783B (en) 2020-12-02 2020-12-02 Task planning method of heterogeneous multi-robot system under full-coverage application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011401042.8A CN112462783B (en) 2020-12-02 2020-12-02 Task planning method of heterogeneous multi-robot system under full-coverage application

Publications (2)

Publication Number Publication Date
CN112462783A true CN112462783A (en) 2021-03-09
CN112462783B CN112462783B (en) 2021-07-23

Family

ID=74806217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011401042.8A Active CN112462783B (en) 2020-12-02 2020-12-02 Task planning method of heterogeneous multi-robot system under full-coverage application

Country Status (1)

Country Link
CN (1) CN112462783B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485355A (en) * 2021-07-27 2021-10-08 北京航空航天大学 Robot task planning method and system, background decision system, search robot and task service robot
CN114489068A (en) * 2022-01-24 2022-05-13 上海利淘豪斯机器人有限公司 Routing method and device for routing inspection task path of inspection robot under complex path
CN115640924A (en) * 2022-09-16 2023-01-24 贵阳沙克智能科技有限公司 Intelligent scheduling management method and system for inspection robot

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110082717A1 (en) * 2009-10-05 2011-04-07 The Boeing Company Hierarchical mission management
US8260485B1 (en) * 2007-04-26 2012-09-04 The Boeing Company Adaptive multi-vehicle area coverage optimization system and method
US20140025228A1 (en) * 2012-07-18 2014-01-23 Jung Soon Jang Mission re-planning for coordinated multivehicle task allocation
CN104714551A (en) * 2015-03-23 2015-06-17 中国科学技术大学 Indoor area covering method suitable for vehicle type mobile robot
CN106020189A (en) * 2016-05-24 2016-10-12 武汉科技大学 Air-to-ground heterogeneous robot system path planning method based on neighborhood constraint
CN107563653A (en) * 2017-09-08 2018-01-09 中国人民解放军国防科技大学 Multi-robot full-coverage task allocation method
CN108981710A (en) * 2018-08-07 2018-12-11 北京邮电大学 A kind of complete coverage path planning method of mobile robot
US20190208695A1 (en) * 2015-12-03 2019-07-11 Mogens Max Sophus Edzard Graf Plessen Path Planning for Area Coverage
CN110053052A (en) * 2019-05-28 2019-07-26 北京理工大学 The task of multilayer SOM isomery welding robot is distributed and paths planning method
CN110162057A (en) * 2019-06-03 2019-08-23 淮南师范学院 A kind of air-ground heterogeneous multi-robot performance evaluation system of intelligence and its appraisal procedure
CN110515732A (en) * 2019-08-23 2019-11-29 中国人民解放军国防科技大学 A kind of method for allocating tasks based on resource-constrained robot deep learning reasoning
US20200089255A1 (en) * 2018-09-14 2020-03-19 Andreas Kolling Turn-minimizing or turn-reducing robot coverage
CN111432015A (en) * 2020-03-31 2020-07-17 中国人民解放军国防科技大学 Dynamic noise environment-oriented full-coverage task allocation method
CN111562785A (en) * 2020-05-15 2020-08-21 中南大学 Path planning method and system for collaborative coverage of cluster robots
CN111941424A (en) * 2020-08-13 2020-11-17 上海机器人产业技术研究院有限公司 Robot moving path coverage rate measuring method and system

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260485B1 (en) * 2007-04-26 2012-09-04 The Boeing Company Adaptive multi-vehicle area coverage optimization system and method
US20110082717A1 (en) * 2009-10-05 2011-04-07 The Boeing Company Hierarchical mission management
US20140025228A1 (en) * 2012-07-18 2014-01-23 Jung Soon Jang Mission re-planning for coordinated multivehicle task allocation
CN104714551A (en) * 2015-03-23 2015-06-17 中国科学技术大学 Indoor area covering method suitable for vehicle type mobile robot
US20190208695A1 (en) * 2015-12-03 2019-07-11 Mogens Max Sophus Edzard Graf Plessen Path Planning for Area Coverage
CN106020189A (en) * 2016-05-24 2016-10-12 武汉科技大学 Air-to-ground heterogeneous robot system path planning method based on neighborhood constraint
CN107563653A (en) * 2017-09-08 2018-01-09 中国人民解放军国防科技大学 Multi-robot full-coverage task allocation method
CN108981710A (en) * 2018-08-07 2018-12-11 北京邮电大学 A kind of complete coverage path planning method of mobile robot
US20200089255A1 (en) * 2018-09-14 2020-03-19 Andreas Kolling Turn-minimizing or turn-reducing robot coverage
CN110053052A (en) * 2019-05-28 2019-07-26 北京理工大学 The task of multilayer SOM isomery welding robot is distributed and paths planning method
CN110162057A (en) * 2019-06-03 2019-08-23 淮南师范学院 A kind of air-ground heterogeneous multi-robot performance evaluation system of intelligence and its appraisal procedure
CN110515732A (en) * 2019-08-23 2019-11-29 中国人民解放军国防科技大学 A kind of method for allocating tasks based on resource-constrained robot deep learning reasoning
CN111432015A (en) * 2020-03-31 2020-07-17 中国人民解放军国防科技大学 Dynamic noise environment-oriented full-coverage task allocation method
CN111562785A (en) * 2020-05-15 2020-08-21 中南大学 Path planning method and system for collaborative coverage of cluster robots
CN111941424A (en) * 2020-08-13 2020-11-17 上海机器人产业技术研究院有限公司 Robot moving path coverage rate measuring method and system

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JINCHAO CHEN 等: "《Multi-Region Coverage Path Planning for Heterogeneous Unmanned Aerial Vehicles Systems》", 《2019 IEEE INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED SYSTEM ENGINEERING (SOSE)》 *
SANDEEP MANJANNA 等: "《Heterogeneous Multi-robot System for Exploration and Strategic Water Sampling》", 《2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA)》 *
VISHNU G NAIR 等: "《MR-SimExCoverage: Multi-robot Simultaneous Exploration and Coverage》", 《COMPUTERS AND ELECTRICAL ENGINEERING》 *
XIAOXIAO YU 等: "《Balanced Multi-Region Coverage Path Planning for Unmanned Aerial Vehicles》", 《2020 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS (SMC)》 *
罗志远 等: "《一种基于分步遗传算法的多无人清洁车区域覆盖路径规划方法》", 《电子测量与仪器学报》 *
陆天和 等: "《多无人机航迹规划算法及关键技术》", 《战术导弹技术》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485355A (en) * 2021-07-27 2021-10-08 北京航空航天大学 Robot task planning method and system, background decision system, search robot and task service robot
CN113485355B (en) * 2021-07-27 2023-11-17 北京航空航天大学 Robot task planning method, system and search robot
CN114489068A (en) * 2022-01-24 2022-05-13 上海利淘豪斯机器人有限公司 Routing method and device for routing inspection task path of inspection robot under complex path
CN115640924A (en) * 2022-09-16 2023-01-24 贵阳沙克智能科技有限公司 Intelligent scheduling management method and system for inspection robot
CN115640924B (en) * 2022-09-16 2023-10-27 贵阳沙克智能科技有限公司 Intelligent dispatching management method and system for inspection robot

Also Published As

Publication number Publication date
CN112462783B (en) 2021-07-23

Similar Documents

Publication Publication Date Title
CN112462783B (en) Task planning method of heterogeneous multi-robot system under full-coverage application
CN110515732B (en) Task allocation method based on deep learning inference of resource-constrained robot
Gao et al. A-STC: Auction-based spanning tree coverage algorithm formotion planning of cooperative robots
Halász et al. Dynamic redistribution of a swarm of robots among multiple sites
Sathyan et al. Comparison of approximate approaches to solving the travelling salesman problem and its application to UAV swarming
CN113033970B (en) AUV cluster layered distribution method for large-scale tasks
Sujit et al. Self assessment-based decision making for multiagent cooperative search
Hong et al. UAV search-and-rescue planning using an adaptive memetic algorithm
Sung et al. Improving the performance of multi-robot systems by task switching
CN111313957A (en) Hybrid satellite communication system resource allocation method based on classification multi-objective optimization
Mannucci et al. Autonomous 3D exploration of large areas: A cooperative frontier-based approach
CN114897215A (en) Method for optimizing multi-unmanned aerial vehicle reconnaissance task allocation based on unsupervised learning discrete pigeon flock
Shopov et al. Application of Hungarian algorithm for assignment problem
Zitouni et al. A distributed solution to the multi-robot task allocation problem using ant colony optimization and bat algorithm
Kohn et al. Hierarchical control systems for autonomous space robots
Belavadi et al. Frontier exploration technique for 3d autonomous slam using k-means based divisive clustering
Fusic et al. Improved RRT* algorithm-based path planning for unmanned aerial vehicle in a 3D metropolitan environment
Lee An efficient coverage area re-assignment strategy for multi-robot long-term surveillance
Queralta et al. Distributed progressive formation control with one-way communication for multi-agent systems
Lee et al. Complete coverage path planning for cleaning task using multiple robots
Akella Assignment algorithms for variable robot formations
Keshmiri et al. Multi-robot, dynamic task allocation: a case study
Khachumov et al. The model of UAV formation based on the uniform allocation of points on the sphere
Pal et al. Multi robot exploration using a modified a* algorithm
Mou et al. Three-dimensional area coverage with uav swarm based on deep reinforcement learning

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
GR01 Patent grant
GR01 Patent grant