WO2012148013A1 - Method of searching invader in roadmap based environment - Google Patents
Method of searching invader in roadmap based environment Download PDFInfo
- Publication number
- WO2012148013A1 WO2012148013A1 PCT/KR2011/003034 KR2011003034W WO2012148013A1 WO 2012148013 A1 WO2012148013 A1 WO 2012148013A1 KR 2011003034 W KR2011003034 W KR 2011003034W WO 2012148013 A1 WO2012148013 A1 WO 2012148013A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- searching
- virtual boundary
- job
- robot
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Definitions
- the present invention relates to multi-robots systems; and, more particularly, to cooperative search and path planning by multi-robots.
- Sarmiento et. al. present a framework for searching polygonal environments with multiple robotic pursuers using a one-step cost heuristic(Sarmiento, R. Murrieta-Cid, and S. Hutchinson, ”A Multi-robot Strategy for Rapidly Searching a Polygonal Environment,” in Proc. 9th Ibero-American Conf. on AI, Puebla, Mexico, 2004.). But they did not extend this work to mobile evaders, and they did not present results in large-scale environments.
- T. Balch and R. Arkin presented the analysis of the effects of different kinds of communication on the performance of teams of mobile robots that performed tasks like searching for objects or covering a terrain (T. Balch and R. Arkin, “Communication in reactive multi-agent robotic systems,” J. Autonomous Robot., vol. 1, no. 1, pp. 2752, 1994.).
- the algorithms are provably robust, but are not necessarily efficient: In contrast to the minimal capabilities of ant-robots (other than pheromone use), our algorithms make use of the robots' memory and communicate to carry out efficient path.
- the present invention provides a method which defines a Virtual Boundary to bound the invader and big enough to search by the searching robots.
- the present invention provides Simultaneous Online Search Algorithm (SOSA).
- SOSA Simultaneous Online Search Algorithm
- the present invention provides the method of searching invader to reduce redundancy.
- a method of searching invader in roadmap based environment includes determining virtual boundary which is defined based on the average velocity of searching robot, estimated invader's velocity, initial position of invader and environment constraint; along with virtual boundary the number of searching robots and their job positions on the edges of the virtual boundary are determined;
- collision chance is less because searching robots always search for unsearched nodes or nodes those are not booked by other robots. This also minimizes the occurrence of overlap. And minimum occurrence of overlap will reduce the search time.
- the present invention ensures maximum use of all searching robots because it is an online search path planner. Distance between job nodes usually varies. In case of offline implementation of SOSA, if planner plans one job node for each searching robot in each iteration then path length of each searching robot will be different from each other. As a result some searching robot will stop searching before completion of searching entire virtual boundary. In the present invention when a searching robot reaches its job node then plan its next job node. And it continues planning till all the job nodes inside virtual boundary are searched.
- the present invention does not have any invader position to plan search path.
- the present invention always looks for unsearched or uncovered node. It looks for n next nodes in all reachable directions. After adding this cost with other costs the present invention determine next job node.
- the present invention does not depend on the shape of the virtual boundary. Because while planning for search path the present invention only consider the nodes inside the virtual boundary. So it does not matter what is the shape of the virtual boundary.
- Fig. 1 describes a diagram showing the environment representation denoting polygons (p), vertices (v), and nodes (n);
- Fig. 2 describes a diagram showing a scenario when the searching invader is first detected
- Fig. 3 describes a diagram showing virtual boundary representation
- Fig. 4 describes a flowchart showing how to determine virtual boundary and the number of searching robots
- Fig. 5 describes a flowchart of simultaneous online search algorithm (SOSA);
- Fig. 6 describes a flowchart showing how to find minimum cost job node
- Fig.7 describes a diagram of reachable node representation that means from a node which other nodes searching robot can move;
- Fig.8 describes a diagram of tree view of reachable and booking nodes according to Fig.7.
- These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function/act specified in the block diagrams and/or flowchart block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
- the present invention may be embodied as a method, data processing system and/or computer program product.
- the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects, which may be collectively referred to herein as a “circuit” or “module”.
- m is the number of vertices of i th polygon.
- the polygon edges which are common to two polygons are portal edges and the midpoint of portal edge is denoted as a node. Nodes are actually used by a path planner.
- Another additional table is also generated while initialization i.e. reachability table. It contains the reference of all reachable nodes for each node.
- P is the set of polygons
- V is the set of vertices (white circles)
- n is the set of nodes (red circles).
- Edge (v 3 , v 4 ) is the common edge of polygon P 1 and P 2 . So midpoint of edge (v 3 , v 4 ) is n1 which is a node. Again edge (v 3 , v 6 ) is the common edge of polygon P 2 and P 6 . So n 2 is a node. This way all the nodes are determined. After finding nodes next job is to find reachable nodes from a node. So from Fig. 1 we can see for node n 1 's reachable nodes are n 2 and n 3 . Node n 2 's reachable nodes are n 1 , n 3 and n 7 . This is the way to determine the reachable node for each node.
- Virtual boundary will confine the searching robot not to search the area with no chance of invader's presence. While determining virtual boundary, job positions and the number of searching robots are also determined. Job positions are appropriate positions on the edge of virtual boundary for searching robots to start searching. Referring to Fig.4, Iterative process is employed to determine the virtual boundary and number of searching robots.
- T * is the time when searching robot meet the invader if they move towards each other.
- D is the straight distance between invader and the closest searching robot.
- R I is the initial circular virtual boundary (ICVB) radius
- V R is the searching robot's average velocity
- V T is the invader's approximated velocity.
- Equations Eq. (1, S403) and Eq. (2, S404) are used to find R I . Referring to Fig.3, Eq. (1) is only used to calculate T * at the first iteration of the algorithm.
- R F is final circular virtual boundary radius.
- virtual boundary (VB) is to be determined. Because the searching robots are only able to move through the roads, so it's better to think virtual boundary as a rectangular area, whose length and width is equal to 2R F . If circular virtual boundary is not fully inside the secure area then length and width of virtual boundary will be different.
- the number of searching robots (N R ) is determined based on the coverage of edge length. That means how many searching robots need to cover one edge of virtual boundary by its sensor.
- Job positions are chosen from a set of candidate job positions (S408).
- Candidate job positions are the positions where roads are intersected by the edges of virtual boundary.
- searching robots are assigned priority based on distance from invader's detection point. The farthest searching robot is assigned the most priority.
- a * path finder is used to find the shortest path for searching robot's current position to its job position.
- Fig. 4 describes the whole process of determining virtual boundary and the number of searching robots.
- P L is the max path length among the paths from searching robot's current position to its job position and in Eq. (7), T * is the time taken by searching robot to reach job position.
- Eq. (6) When all the selected searching robots satisfy Eq. (6), they can reach their job positions and search virtual boundary. If Eq. (6) is unsatisfied then Eq. (7) is used to set new time limit to define inner circular virtual boundary radius (R I ). And then based on new R I and previous iteration virtual boundary information we will again define new virtual boundary and find job position (S412, S413).
- the number of searching robots becomes more than the total number of searching robots then the number of searching robots will be fixed to the total number of searching robots. And the algorithm will increase the size of virtual boundary to ensure boundless for the available searching robots. After using all the available searching robot, if Eq. (6) is not satisfied then entire area will be virtual boundary. After reaching job position, SOSA plans the path to search virtual boundary.
- SOSA is a search path planner which ensures effective and minimum redundant search path in roadmap based environment.
- SOSA's job is to search all the nodes inside virtual boundary. While search planning a searching robot chooses its most feasible reachable node as job node and book n nodes as the future job node. The node which can be the job node after a searching robot reaches its current job node is a future job node. And when the next searching robot will look for its job node, it will consider other searching robots' job nodes and booking nodes.
- Fig. 5 shows the flow chart of SOSA.
- nRobot is the number of searching robot
- i is the index of the searching robot
- j is the index of reachable node from a searching robots current node. All the searching robots will move towards their job nodes, their first job is to search for invader. If invader is detected, search is completed. If invader is not detected, SOSA will check for each searching robot has reached its job nodes If not reached then searching robot index will increase and process will continue with next searching robot. And if a searching robot reaches its job node, SOSA will check if the search of entire virtual boundary has completed or not. If search completed without invader detection then it's an unsuccessful search.
- the term 'Search completed' means all the nodes inside virtual boundary should be searched. If search is not completed then final cost function will be called for all the reachable nodes of a searching robot's current job node and the minimum cost node will be chosen as next job node. This process will continue till all the nodes are searched.
- SOSA's basic idea is to find out the minimum cost node of all reachable nodes from the current job node. From these reachable nodes, the node with minimum cost is considered as the next job node.
- Fig. 6 presents the whole process of finding the minimum cost job node. The final cost function to determine a reachable node's cost is described below
- T is the total cost of a reachable node to choose (S603).
- R c is the cost for a searching robot to take turn to move to next reachable node and its maximum cost is ⁇ .
- L c is an integer constant, a node returns L c if it is booked by some searching robot.
- C c is an integer constant, a node returns C c if the node already considered as job node or it can be searched from a job node.
- a reachable node returns N c if it is outside of virtual boundary and it's an integer constant.
- n is the number of job nodes to book by a searching robot and r is number of searching robots. From eqs.
- R c returns the minimum value among cost terms and N c returns the maximum value to influence the searching robots to search only inside virtual boundary.
- L c and C c are greater than R c because searching robot should look for unsearched and not booked node. R c is only useful when there is more than one node has same cost.
- C c is greater than L c because no need to search already searched node.
- ⁇ is 1 if the reachable node is searched by the searching robot, 2 if the reachable node is the previous job node of the searching robot, 3 if the reachable node is the previous job node of the searching robot, 0 otherwise.
- ⁇ is 1 if the reachable node within sensor range from the job node and if anyone of its reachable node is outside of the virtual boundary, 2 if the reachable node is outside, 0 otherwise.
- ⁇ is 1 because one reachable node R of D is outside of virtual boundary. If D is a job node and it's reachable node R is out of virtual boundary so in this case ⁇ is 2.
- A is a job node then it has three reachable nodes B, C and D. For these three reachable nodes, the final cost will be calculated and the minimum cost node will be chosen as the next job node.
- K c books n future job node and returns the cost to book n future job nodes.
- K c 's job is to go forward and collect the status of the nodes available in different direction (i.e. different reachable node). And calculate the cost for choosing a direction. All the cost will be added with final cost function (T). And reachable node with the minimum final cost is the next job node.
- K c works K c uses B * to book n future job node.
- B * is the cost of a node to book while booking n future job nodes.
- ⁇ returns the cost of choosing node which is already booked by itself.
- ⁇ is 1 when a chosen node is already booked itself else 0.
- ⁇ is 1 when it is within the sensor range from a node chosen by itself else 0.
- Three functions (C 1 , C 2 and C 3 ) are used to compute the cost to book n nodes for a reachable node.
- C 1 is the cost to book searched node.
- b is the booking list and
- b i is the i th booking node for a reachable node.
- C 2 is the cost to book nodes which are already booked node by other searching robots and cost will more to book other searching robot's booking list's front node than rear node. If b i is booked but not by the current searching robot then y i is 1 else 0.
- C 3 is the cost to book nodes out of virtual boundary. If b i is outside of virtual boundary then z i is 1 otherwise 0.
- K c (C 1 + C 2 + C 3 ) is the cost from a reachable node to book n future job nodes.
- Kc (C 1 + C 2 + C 3 ) is the cost from a reachable node to book n future job nodes.
- Kc (C 1 + C 2 + C 3 ) is the cost from a reachable node to book n future job nodes.
- Kc (C 1 + C 2 + C 3 ) is the cost from a reachable node to book n future job nodes.
- Kc (C 1 + C 2 + C 3 )
- SOSA Simultaneous Online Search Algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
A method of searching invader in roadmap based environment includes determining virtual boundary which is defined based on the average velocity of searching robot, estimated invader's velocity, initial position of invader and environment constraint; along with virtual boundary the number of searching robots and their job positions on the edges of the virtual boundary are determined; Path planning for the searching robots to reach their job positions; and to search the virtual boundary appropriate job node is selected according to cost function till searching of all the nodes inside virtual boundary is over.
Description
The present invention relates to multi-robots systems; and, more particularly, to cooperative search and path planning by multi-robots.
Recently, researchers have shown much interest in multi-robot systems and have frequently employed multi-robot teams to complete tasks that cannot be accomplished by a single robot. In cases of search and coverage algorithms, researchers have preferred multiple robots because of their robustness and quick completion of tasks. Various solutions have, thus, been proposed considering different environments, vehicles and resources.
McGee and Hendrick derived optimal strategies to guarantee capture under certain conditions when the target velocity is assumed to be bounded and sensing occurs within a finite limit. But, the bounding strategy can only be ensured in circular obstacle-free environments (T. G. McGee and J. K. Hedrick, “Guaranteed strategies to search for mobile evaders in the plane,” in Proceedings of the American Control Conference, Minneapolis, MN, 2006, pp. 2819 - 2824.). LaValle and Guibas developed pursuit-evasion strategies for multiple pursuers in polygonal environments (L. Guibas, J. Latombe, S. LaValle, D. Lin, and R. Motwani, “Visibility based pursuit-evasion in a polygonal environment,” Intl Journal of Computational Geometry and Applications, 9(5):471494, 1999.). Their algorithm discretizes polygonal environments into conservative visibility regions and then uses an information space approach to develop complete algorithms that guarantee capture in simple environments. Gerkey et al. extended these methods to cases where the pursuer has a limited field-of-view (B. Gerkey, S. Thrun, and G. Gordon, “Visibility-based pursuit-evasion with limited field of view,” Intl Journal of Robotics Research, 25(4):299315, 2006.). For a single pursuer, these algorithms are guaranteed to find a solution if one exists. But in the presence of multiple pursuers, however, they lose this property. Additionally, these algorithms are difficult to extend to complex environments because of the total number of cells necessary in a conservative visibility discretization. These algorithms are also not applicable to complex environments in which capture cannot be guaranteed. Sarmiento et. al. present a framework for searching polygonal environments with multiple robotic pursuers using a one-step cost heuristic(Sarmiento, R. Murrieta-Cid, and S. Hutchinson, ”A Multi-robot Strategy for Rapidly Searching a Polygonal Environment,” in Proc. 9th Ibero-American Conf. on AI, Puebla, Mexico, 2004.). But they did not extend this work to mobile evaders, and they did not present results in large-scale environments.
T. Balch and R. Arkin presented the analysis of the effects of different kinds of communication on the performance of teams of mobile robots that performed tasks like searching for objects or covering a terrain (T. Balch and R. Arkin, “Communication in reactive multi-agent robotic systems,” J. Autonomous Robot., vol. 1, no. 1, pp. 2752, 1994.). A family of robust multi-robot ant-based algorithms, which used approximate cellular decomposition, was presented by I. Wagner et. al (Wagner, M. Lindenbaum, A. Bruckstein, “Mac vs. pc determinism and randomness as complementary approaches to robotic exploration of continuous unknown domains,” International Journal of Robotics Research 19 (1) (2000) 1231.). The algorithms are provably robust, but are not necessarily efficient: In contrast to the minimal capabilities of ant-robots (other than pheromone use), our algorithms make use of the robots' memory and communicate to carry out efficient path.
In any search and coverage problem, most of the solutions are solved by decomposing the area into grid cells. This way of solution is applicable for an open space such as a forest and for sweeping purposes. But to provide security to some secure area like a housing society, a park, or an industrial farm, it cannot be thought as composed of grids because the whole area may not be reachable or some physical constraints may be present. For example, robots are only allowed to move through specified roads or more importantly, most of the times it is very difficult for wheeled mobile robots to move around in uneven terrain which imposes constraints on their mobility, and hence, we need a different solution. For these kind of scenarios, we propose the newly developed Simultaneous Online Search Algorithm (SOSA).
The present invention provides a method which defines a Virtual Boundary to bound the invader and big enough to search by the searching robots.
Further the present invention provides Simultaneous Online Search Algorithm (SOSA).
Further the present invention provides the method of searching invader to reduce redundancy.
In accordance with the present invention, there is provided a method of searching invader in roadmap based environment includes determining virtual boundary which is defined based on the average velocity of searching robot, estimated invader's velocity, initial position of invader and environment constraint; along with virtual boundary the number of searching robots and their job positions on the edges of the virtual boundary are determined;
Path planning for the searching robots to reach their job positions; and to search the virtual boundary appropriate job node is selected according to cost function till searching of all the nodes inside virtual boundary is over.
In multi-robot system collision may occur. While using the present invention collision chance is less because searching robots always search for unsearched nodes or nodes those are not booked by other robots. This also minimizes the occurrence of overlap. And minimum occurrence of overlap will reduce the search time.
The present invention ensures maximum use of all searching robots because it is an online search path planner. Distance between job nodes usually varies. In case of offline implementation of SOSA, if planner plans one job node for each searching robot in each iteration then path length of each searching robot will be different from each other. As a result some searching robot will stop searching before completion of searching entire virtual boundary. In the present invention when a searching robot reaches its job node then plan its next job node. And it continues planning till all the job nodes inside virtual boundary are searched.
The present invention does not have any invader position to plan search path. The present invention always looks for unsearched or uncovered node. It looks for n next nodes in all reachable directions. After adding this cost with other costs the present invention determine next job node.
The present invention does not depend on the shape of the virtual boundary. Because while planning for search path the present invention only consider the nodes inside the virtual boundary. So it does not matter what is the shape of the virtual boundary.
The objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which
Fig. 1 describes a diagram showing the environment representation denoting polygons (p), vertices (v), and nodes (n);
Fig. 2 describes a diagram showing a scenario when the searching invader is first detected;
Fig. 3 describes a diagram showing virtual boundary representation;
Fig. 4 describes a flowchart showing how to determine virtual boundary and the number of searching robots;
Fig. 5 describes a flowchart of simultaneous online search algorithm (SOSA);
Fig. 6 describes a flowchart showing how to find minimum cost job node
from a searching robot’s current node;
Fig.7 describes a diagram of reachable node representation that means from a node which other nodes searching robot can move;
Fig.8 describes a diagram of tree view of reachable and booking nodes according to Fig.7.
The present invention now will be described more fully hereinafter with reference to the accompanying figures, in which embodiments of the invention are shown. This invention may, however, be embodied in many alternate forms and should not be construed as limited to the embodiments set forth herein.
Accordingly, while the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit the invention to the particular forms disclosed, but on the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the claims. Like numbers refer to like elements throughout the description of the figures.
The present invention is described below with reference to block diagrams and/or flowchart illustrations of methods and/or display driver chips according to embodiments of the invention. It is understood that some blocks of the block diagrams and/of flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, may be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, and/or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function/act specified in the block diagrams and/or flowchart block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks.
As will be appreciated by one of skill in the art, the present invention may be embodied as a method, data processing system and/or computer program product. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects, which may be collectively referred to herein as a “circuit” or “module”.
It should also be noted that in some alternate implementations, the functions/acts noted in the blocks may occur out of the order noted in the flowcharts. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Environment representation
Environment is represented by Graph G and G = (V, P) Where V is a set of r vertices and all the vertices vi (i = 1 ~ r) will contain coordinate information. Roads are represented by polygon Pi (i = 1 ~ k)} where k is the number of polygons to represent the roads within the environment and Pi = (v1~ vm). Here m is the number of vertices of ith polygon. The polygon edges which are common to two polygons are portal edges and the midpoint of portal edge is denoted as a node. Nodes are actually used by a path planner. Another additional table is also generated while initialization i.e. reachability table. It contains the reference of all reachable nodes for each node.
Referring to Fig. 1, P is the set of polygons, V is the set of vertices (white circles) and n is the set of nodes (red circles). Edge (v3, v4) is the common edge of polygon P1 and P2. So midpoint of edge (v3, v4) is n1 which is a node. Again edge (v3, v6) is the common edge of polygon P2 and P6. So n2 is a node. This way all the nodes are determined. After finding nodes next job is to find reachable nodes from a node. So from Fig. 1 we can see for node n1's reachable nodes are n2 and n3. Node n2's reachable nodes are n1, n3 and n7. This is the way to determine the reachable node for each node.
Environment representation has big impact on our search method. So while designing new environment, we need to make sure there is enough node inside virtual boundary to cover entire area. Actually, a node's distance from its reachable node should not be more than the sensor coverage range.
Defining virtual boundary
Virtual boundary will confine the searching robot not to search the area with no chance of invader's presence. While determining virtual boundary, job positions and the number of searching robots are also determined. Job positions are appropriate positions on the edge of virtual boundary for searching robots to start searching. Referring to Fig.4, Iterative process is employed to determine the virtual boundary and number of searching robots.
Here, T* is the time when searching robot meet the invader if they move towards each other. Referring to Fig.2, D is the straight distance between invader and the closest searching robot. Referring to Fig.3, RI is the initial circular virtual boundary (ICVB) radius, VR is the searching robot's average velocity and VT is the invader's approximated velocity.
The time the farthest searching robot takes to reach the closest intersection point between road and virtual boundary at the same time the distance traveled by the invader is RI. Equations Eq. (1, S403) and Eq. (2, S404) are used to find RI. Referring to Fig.3, Eq. (1) is only used to calculate T* at the first iteration of the algorithm.
Referring to Fig.6, final circular virtual boundary (FCVB) radius - If invader moves other than towards searching robot, then by the time searching robot reach virtual boundary, invader will be out of virtual boundary. So RI needs to be increased to make sure invader is inside virtual boundary. To make sure boundness, distance travel by invader within the time searching robot takes to search virtual boundary need to add with RI (S405).
Here, RF is final circular virtual boundary radius. DR is the straight distance from searching robot's job position to other end of virtual boundary. But for the first iteration while virtual boundary is not defined then DR = 2RI.
Referring to Fig.3 virtual boundary (VB) is to be determined. Because the searching robots are only able to move through the roads, so it's better to think virtual boundary as a rectangular area, whose length and width is equal to 2RF. If circular virtual boundary is not fully inside the secure area then length and width of virtual boundary will be different. The number of searching robots (NR) is determined based on the coverage of edge length. That means how many searching robots need to cover one edge of virtual boundary by its sensor.
After determining the number of searching robots (NR), if NR is greater than the total available number searching robots (AR) then RF needs to be increased to make the boundary boundable for less number of searching robots to search.(S406, S407, S410, S411)
Next problem is to choose the job position for searching robots. Job positions are chosen from a set of candidate job positions (S408). Candidate job positions are the positions where roads are intersected by the edges of virtual boundary. To choose job positions, searching robots are assigned priority based on distance from invader's detection point. The farthest searching robot is assigned the most priority. After finding job position A* path finder is used to find the shortest path for searching robot's current position to its job position. Fig. 4 describes the whole process of determining virtual boundary and the number of searching robots.
Here, PL is the max path length among the paths from searching robot's current position to its job position and in Eq. (7), T* is the time taken by searching robot to reach job position.
When all the selected searching robots satisfy Eq. (6), they can reach their job positions and search virtual boundary. If Eq. (6) is unsatisfied then Eq. (7) is used to set new time limit to define inner circular virtual boundary radius (RI). And then based on new RI and previous iteration virtual boundary information we will again define new virtual boundary and find job position (S412, S413).
In any case, if the number of searching robots becomes more than the total number of searching robots then the number of searching robots will be fixed to the total number of searching robots. And the algorithm will increase the size of virtual boundary to ensure boundless for the available searching robots. After using all the available searching robot, if Eq. (6) is not satisfied then entire area will be virtual boundary. After reaching job position, SOSA plans the path to search virtual boundary.
Simultaneous online search Algorithm (SOSA)
SOSA is a search path planner which ensures effective and minimum redundant search path in roadmap based environment. SOSA's job is to search all the nodes inside virtual boundary. While search planning a searching robot chooses its most feasible reachable node as job node and book n nodes as the future job node. The node which can be the job node after a searching robot reaches its current job node is a future job node. And when the next searching robot will look for its job node, it will consider other searching robots' job nodes and booking nodes.
Fig. 5 shows the flow chart of SOSA. In Fig.5, nRobot is the number of searching robot, i is the index of the searching robot and j is the index of reachable node from a searching robots current node. All the searching robots will move towards their job nodes, their first job is to search for invader. If invader is detected, search is completed. If invader is not detected, SOSA will check for each searching robot has reached its job nodes If not reached then searching robot index will increase and process will continue with next searching robot. And if a searching robot reaches its job node, SOSA will check if the search of entire virtual boundary has completed or not. If search completed without invader detection then it's an unsuccessful search. The term 'Search completed' means all the nodes inside virtual boundary should be searched. If search is not completed then final cost function will be called for all the reachable nodes of a searching robot's current job node and the minimum cost node will be chosen as next job node. This process will continue till all the nodes are searched.
SOSA's basic idea is to find out the minimum cost node of all reachable nodes from the current job node. From these reachable nodes, the node with minimum cost is considered as the next job node. Fig. 6 presents the whole process of finding the minimum cost job node. The final cost function to determine a reachable node's cost is described below
Here, T is the total cost of a reachable node to choose (S603). Rc is the cost for a searching robot to take turn to move to next reachable node and its maximum cost is π. Lc is an integer constant, a node returns Lc if it is booked by some searching robot. Cc is an integer constant, a node returns Cc if the node already considered as job node or it can be searched from a job node. A reachable node returns Nc if it is outside of virtual boundary and it's an integer constant. n is the number of job nodes to book by a searching robot and r is number of searching robots. From eqs. (9) ~ (11), we can see Rc returns the minimum value among cost terms and Nc returns the maximum value to influence the searching robots to search only inside virtual boundary. Lc and Cc are greater than Rc because searching robot should look for unsearched and not booked node. Rc is only useful when there is more than one node has same cost. Cc is greater than Lc because no need to search already searched node.
α is 1 if the reachable node is searched by the searching robot, 2 if the reachable node is the previous job node of the searching robot, 3 if the reachable node is the previous job node of the searching robot, 0 otherwise.
β is 1 if the reachable node within sensor range from the job node and if anyone of its reachable node is outside of the virtual boundary, 2 if the reachable node is outside, 0 otherwise.
According to Fig. 7 when a searching robot's job node is A and reachable node is D then β is 1 because one reachable node R of D is outside of virtual boundary. If D is a job node and it's reachable node R is out of virtual boundary so in this case β is 2. When A is a job node then it has three reachable nodes B, C and D. For these three reachable nodes, the final cost will be calculated and the minimum cost node will be chosen as the next job node.
Now, we discuss about fourth term (Kc) of the final cost function. Kc books n future job node and returns the cost to book n future job nodes. Kc's job is to go forward and collect the status of the nodes available in different direction (i.e. different reachable node). And calculate the cost for choosing a direction. All the cost will be added with final cost function (T). And reachable node with the minimum final cost is the next job node. Now we will see how Kc works. Kc uses B* to book n future job node.
Here, B* is the cost of a node to book while booking n future job nodes. γ returns the cost of choosing node which is already booked by itself. η is 1 when a chosen node is already booked itself else 0. And λ is 1 when it is within the sensor range from a node chosen by itself else 0. Three functions (C1, C2 and C3) are used to compute the cost to book n nodes for a reachable node.
Here, C1 is the cost to book searched node. b is the booking list and bi is the ith booking node for a reachable node.
Here, C2 is the cost to book nodes which are already booked node by other searching robots and cost will more to book other searching robot's booking list's front node than rear node. If bi is booked but not by the current searching robot then yi is 1 else 0.
Here, C3 is the cost to book nodes out of virtual boundary. If bi is outside of virtual boundary then zi is 1 otherwise 0.
So Kc= (C1+ C2+ C3) is the cost from a reachable node to book n future job nodes. Here we want to give an example of term Kc according to Figs. 7 and 8. If a searching robot has reached its job node (A) then it will look for its next job node. For this example let n = 3. Node A has 3 reachable nodes (B, C and D). Now in B direction we will determine booking node using Eq. (12). For 1st booking reachable nodes of B are A, E, C and D. Among these four node E is the best choice because A is previous job node, D has a reachable node (R) outside VB and between E and C, to reach E searching robot does not require any angular velocity. For 2nd booking E's reachable nodes are B, I, H and G and here I will be the minimum cost reachable node from E. For 3rd booking, I's reachable nodes are H, J, E and G and here J is the best choice. So for node B chosen nodes to book are E, I, J. In the same way, for node C chosen nodes are Q, N, M. Now, using Eqs.(14) and (16) Kc will be calculated for booked nodes and will be added to final cost function of B, C and D. Among B, C and D which return the minimum will be considered as future job node. If C is the node with minimum cost node then BookingList (b) will be updated with the node Q, N, M for the current searching robot.
While the invention has been shown and described with respect to the preferred embodiments, it will be understood by those skilled in the art that changes and modification may be made without departing from the spirit and scope of the invention as defined in the following claims.
“Patrolling and Searching” by human are tedious, hard and sometimes hazardous. These problems can cause unsecure situations in secure area. So an alternative approach is to use technology to assist in these tasks through the use of multiple mobile robots to guard the grounds of secure area from intrusion and also search for intrusive presence if detected inside secure area.
But algorithm is necessary to control multiple mobile robots, so we developed Simultaneous Online Search Algorithm (SOSA) to control multiple mobile robots in searching and patrolling.
So, there is enormous applicability for our algorithm to be implemented in real environments like housing society, industrial area, museum, and government’s important places.
Claims (13)
- A method of searching invader in roadmap based environment includesdetermining virtual boundary which is defined based on the average velocity of searching robot, estimated invader's velocity, initial position of invader and environment constraint; along with virtual boundary the number of searching robots and their job positions on the edges of the virtual boundary are determined;Path planning for the searching robots to reach their job positions; andSearching the virtual boundary appropriate job node is selected according to cost function till searching of all the nodes inside virtual boundary is over.
- The method of claim 1, further comprisingdetermining the number of searching robots based on the virtual boundary.
- The method of claim 1, wherein determining virtual boundary includesDriving T*, which satisfies the following relationship:wherein T* denotes the time when the searching robot meets the invader, D denotes straight distance between invader and the closest searching robot, VT denotes the invader's approximated velocity and VR denotes the searching robot's average velocity;Driving RI, which satisfies the following relationship:Wherein RI denotes the initial circular virtual boundary; andDriving RF, which satisfies the following relationship:Wherein RF denotes final circular virtual boundary radius, DR denotes the straight distance from the searching robot's job position to other end of virtual boundary.
- The method of claim 1, searching the virtual boundary appropriate job node includesdriving the cost function T, which satisfies the following relationship:wherein T denotes the total cost of a reachable node to choose, Rc denotes the cost for a searching robot to take turn to move to next reachable node and its maximum cost is π, Cc denotes an integer constant, a reachable node returns Cc if the node already considered as job node or it can be searched from a job node, a reachable node returns Nc if it is outside of the virtual boundary and it's an integer constant, Kc returns the cost to book n future job nodes,whrerin α is 1 if the reachable node is searched by the searching robot, 2 if the reachable node is the previous job node of the searching robot, 3 if the reachable node is the previous job node of the searching robot, 0 otherwise,wherein β is 1 if the reachable node within sensor range from the job node and if anyone of its reachable node is outside of the virtual boundary, 2 if the reachable node is outside, 0 otherwise.
- The method of claim 8, wherein the driving the cost function T further comprising Driving B* for each booking position, which satisfies the following relationships:Wherein γ returns the cost of the booking node which is already booked by itself, η is 1 when the booking node is already booked itself else 0, and λ is 1 when it is within the sensor range from the booking node chosen by itself else 0.
- The method of claim 11, wherein driving Kc by using the minimum B* of all the booking nodes, which satisfies the following relationship:Kc= (C1+ C2+ C3)Wherein C1 is the cost to book searched node, C2 is the cost to book nodes which are already booked by other robots and cost will more to book other robot's booking list's front node than rear node, and C3 is the cost to book nodes out of virtual boundary.
- The method of claim 12, wherein driving Kc, which satisfies the following relationships:Wherein b is the booking list and bi is the ith booking node for the reachable node,Wherein If bi is booked but not by the searching robot then yi is 1 else 0Wherein bi is outside of virtual boundary then zi is 1 otherwise 0.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2011/003034 WO2012148013A1 (en) | 2011-04-26 | 2011-04-26 | Method of searching invader in roadmap based environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2011/003034 WO2012148013A1 (en) | 2011-04-26 | 2011-04-26 | Method of searching invader in roadmap based environment |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012148013A1 true WO2012148013A1 (en) | 2012-11-01 |
Family
ID=47072516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2011/003034 WO2012148013A1 (en) | 2011-04-26 | 2011-04-26 | Method of searching invader in roadmap based environment |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012148013A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0155899B1 (en) * | 1995-10-17 | 1998-12-15 | 김광호 | Multi Robot Control Method |
US20040024490A1 (en) * | 2002-04-16 | 2004-02-05 | Mclurkin James | System amd methods for adaptive control of robotic devices |
JP2009295140A (en) * | 2008-06-04 | 2009-12-17 | National Chiao Tung Univ | Intruder detection system and method thereof |
-
2011
- 2011-04-26 WO PCT/KR2011/003034 patent/WO2012148013A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0155899B1 (en) * | 1995-10-17 | 1998-12-15 | 김광호 | Multi Robot Control Method |
US20040024490A1 (en) * | 2002-04-16 | 2004-02-05 | Mclurkin James | System amd methods for adaptive control of robotic devices |
US20070179669A1 (en) * | 2002-04-16 | 2007-08-02 | Mclurkin James | System and methods for adaptive control of robotic devices |
JP2009295140A (en) * | 2008-06-04 | 2009-12-17 | National Chiao Tung Univ | Intruder detection system and method thereof |
Non-Patent Citations (1)
Title |
---|
YONG-JU LEE ET AL., SLAM OF A MOBILE ROBOT USING IR SENSOR AND VISION SENSOR, 30 November 2006 (2006-11-30) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429105B2 (en) | Motion planning for autonomous vehicles and reconfigurable motion planning processors | |
Dobrev et al. | Searching for a black hole in arbitrary networks: Optimal mobile agents protocols | |
Sudhakara et al. | Trajectory planning of a mobile robot using enhanced A-star algorithm | |
Asadi et al. | Automated object manipulation using vision-based mobile robotic system for construction applications | |
Raja et al. | Path planning for a mobile robot in dynamic environments | |
Quin et al. | Approaches for efficiently detecting frontier cells in robotics exploration | |
Bayer et al. | Speeded up elevation map for exploration of large-scale subterranean environments | |
Xu et al. | Multi-agent coverage search in unknown environments with obstacles: A survey | |
Crnković et al. | Fast algorithm for centralized multi-agent maze exploration | |
Zhang et al. | A formation cooperative reconnaissance strategy for multi-UGVs in partially unknown environment | |
Johansson et al. | Swarm bug algorithms for path generation in unknown environments | |
Amir et al. | Fast uniform dispersion of a crash-prone swarm | |
WO2012148013A1 (en) | Method of searching invader in roadmap based environment | |
Newaz et al. | Fast radioactive hotspot localization using a UAV | |
Huang et al. | Dynamic path optimization for robot route planning | |
Marbate et al. | Role of voronoi diagram approach in path planning | |
Lumelsky et al. | Sensor-based terrain acquisition: The'sightseer'strategy | |
Tiganas et al. | Multi-robot based implementation for a sample gathering problem | |
Quin et al. | Exploring in 3d with a climbing robot: Selecting the next best base position on arbitrarily-oriented surfaces | |
Lebedev et al. | Analysis of «Leader–Followers» Algorithms in Problem of Trajectory Planning for a Group of Multi-rotor UAVs | |
Kong et al. | Range-limited, distributed algorithms on higher-order voronoi partitions in multi-robot systems | |
Chu et al. | Track planning of multi-rotor unmanned aerial vehicle in the complex environment space | |
Ioannidis et al. | A cellular automaton collision-free path planner suitable for cooperative robots | |
Basha et al. | Implementation of robotic navigation algorithms using partial reconfiguration on Zynq SoC | |
Wang et al. | Autonomous navigation system for indoor mobile robots based on a multi-sensor fusion technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11864390 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11864390 Country of ref document: EP Kind code of ref document: A1 |