Sie sind auf Seite 1von 4

Multi-Robot Social Group-Based Search Algorithms RobotSearch MATLAB Software Instructions

Author: Date: Bud Fox, Tel: 65 6419 1549, Email: budfox@ihpc.a-star.edu.sg 9 February 2007

1. Introduction A multi-robot social group-based search algorithm1 is developed using MATLAB to simulate a group of robots detecting and tracking a target moving in linear, non-linear and random walk motions. Three algorithms are investigated: 1) a robot search algorithm proposed by Goldsmith and Robinett2, 2) a Standard search algorithm using a multi-radial search function and dispersion behaviour, and 3) a Voronoi search algorithm using a Voronoi decomposition of search space prior to the commencement of multi-radial search. The robots are divided into two social groups: an aggressive searching alpha ( ) group, and an energy conserving, less active, beta ( ) group. 2. Software The RobotSearch MATLAB3-based software is a collection of code for the exploration of multi-robot social group-based search algorithms under a variety of conditions. The code has been developed using the MATLAB platform version 7, and allows the user to experiment with different robot and target motion behaviour and entity interaction. Various algorithmic settings may be made to study different ideas and models, e.g. search coverage, tracking behaviour, and group convergence properties. The current version of the RobotSearch software requires the user to have MATLAB installed, and a copy of this code may be obtained from the following site: http://software.ihpc.a-star.edu.sg/. A future version will be provided using Octave4. The system requirements for the code are provided below. Current System Requirements Operating System: Microsoft Windows XP5 Software Platform: MATLAB Future System Requirements Operating System: Linux6 Software Platform: Octave 3. Setup Instructions To extract the code for the RobotSearch project, unzip the zipped archive, RobotSearchStudies.zip, in which the provided code listed in Table 1, will be found. There are four driver files: 1) RobotSearch.m, 2) Dispersion.m, 3) SearchPattern.m, and 4) Forces.m: the remaining code comprises the functions to be invoked.

Table 1. The provided code, including driver programs indicated in bold, dependant functions, and a brief description of their purpose.
File Name CofM.m Dispersion.m DispersionCofM.m DispersionCritElec.m DispersionElec.m Forces.m GridSearch.m MultiRadialSearch.m ParticleDensity.m RadialSearch.m RobotSearch.m RobotSearch.m SearchPattern.m TargetMove.m VoronoinCofM.m Description Determines the center of mass (CM) of a set of particles in 2D or 3D. Tests dispersion ideas concerning the CM of a group of particles. Performs dispersion of particles w.r.t. the CM of a group. Performs electrostatic dispersion of specific close particles only. Performs electrostatic dispersion of all particles from each other. Tests ideas concerning inverse-square law force-based dispersion. A search technique based on a Cartesian grid pattern. A search technique based on radially expanding concentric circles. Determines the density of particles given a reference-spacing. A single-particle radial search pattern expanding in concentric circles. Tests ideas of multi-robot social group-based search algorithms. Tests different search patterns: grid, radial and multi-radial search. Performs target motion in linear, non-linear and random-walk motions. Performs voronoi domain decomposition and repositions particles at cell CMs.

4. Code Structure The function-call trees for the four programs are provided in tables 2-5, and indicate the structure of the algorithms and code dependencies. A brief explanation of each program is provided below. 4.1 RobotSearch RobotSearch is the main program of the four provided, and is the driver file used for the multi-robot social group-based search algorithm study. It involves initially placing robots in the plane that will search for a target that moves in a linear, nonlinear, or random-walk manner. The robots perform a multi-radial search if they lose track of the target, and this involves a voronoi decomposition of search space for efficient searching: robots are placed at the CMs of their respective voronoi cells. If the robots become too dense, then an inverse-square force law governs their dispersion such that they are more evenly distributed throughout search space. The robots should cover search space adequately and converge towards the moving target without becoming too congested. The function-call tree for RobotSearch.m is shown in Table 2. Table 2. Function-call tree for the main driver program RobotSearch.m.
RobotSearch RobotSearch TargetMove() MultiRadialSearch() VoronoinCofM() CofM() CofM() DispersionCritElec() ParticleDensity() CofM() DispersionCofM() DispersionElec()

4.2 Dispersion The Dispersion program explores the radial dispersion of particles from the CM of the entire group of particles if the particle density is too high. This is used to prevent congestion or over-convergence of robots when searching for the target moving through search space. The function-call tree for Dispersion.m is shown in Table 3. Table 3. Function-call tree for the driver program Dispersion.m.
Dispersion ParticleDensity() CofM() DispersionCofM() ParticleDensity()

4.3 SearchPattern The SearchPattern program explores different search patterns used by robots in searching for the target moving in a linear, non-linear or random-walk manner. GridSearch is a search pattern concerning a single robot moving on a Cartesian grid from east to west and south to north. RadialSearch is a search pattern of a single robot moving in concentric circles radially outwards from the origin. MultiRadialSearch involves many robots searching simultaneously for a moving target, where each performs a radial search. Search space is divided using a voronoi domain decomposition, and each robot is moved to the CM of its respective voronoi cell, which is determined from the location of the cell vertices. The radial search for each robot begins from its cell CM and continues radially outward until one of the robots detects the target. The function-call tree for SearchPattern.m is shown in Table 4. Table 4. Function-call tree for the driver program SearchPattern.m.
SearchPattern SearchPattern GridSearch() RadialSearch() MultiRadialSearch() VoronoinCofM() CofM()

4.4 Forces The Forces program is used to investigate an inverse-square electrostatic force lawbased dispersion method, to redistribute particles or robot entities in search space if they become too congested or dense when searching for the moving target. The particle density is calculated to determine congestion, and a limit is placed on the amount of dispersion in both the x and y directions. The function-call tree for Forces.m is shown in Table 5. Table 5. Function-call tree for the driver program Forces.m.
Forces ParticleDensity() DispersionElec() ParticleDensity()

5. Running Instructions To run any of the four programs, simply navigate to the directory containing the code, e.g. RobotSearchStudies, and type the driver file name at the MATLAB prompt, i.e. for the four cases shown above:
1. 2. 3. 4. >> >> >> >> RobotSearch Dispersion SearchPattern Forces

The user will see animation of robot and target entities appearing via plots to the screen. Experimentation with algorithm parameters will alter algorithm function and robot social group search characteristics. For an explanation of the mathematical model and algorithm parameters and their effects on simulation behaviour, the interested reader should consult the work of Fox et al.1, as cited above. 6. Conclusion The code contained in the file RobotSearchStudies.zip, is intended for open source usage and available under the Gnu Public License (GPL). An alternative flexible Original Equipment Manufacturer (OEM) commercial license is also available through IHPC, for those intending to use the provided code for commercial purposes. The GPL license does not require users of this software to contact the author of the code or IHPC in general. However, if you would like to share suggestions on code improvement, or inform the author and/or institute of the intended application of the code, this would certainly be appreciated. Copyright 2007, Bud Fox and the Institute of High Performance Computing, Singapore

References
B. Fox, W.T. Ong, H.P. Lee, and A.Y. Zomaya, Multi-robot social group-based search algorithms, in press, 2007. 2 S.Y. Goldsmith, R. Robinett, Collective search by mobile robots using alpha-beta coordination, in: A. Drogoul, M. Tambe, T. Fukuda, eds., Collective Robotics. Springer-Verlag, Berlin, 1998, pp. 136-146. 3 MATLAB: www.mathworks.com 4 Octave: www.gnu.org/software/octave/ 5 Microsoft Corporation: www.microsoft.com/ 6 Linux: www.linux.org
1

Das könnte Ihnen auch gefallen