robotsearch user manual

Upload: pjl112008

Post on 05-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 RobotSearch User Manual

    1/4

    1

    Multi-Robot Social Group-BasedSearch Algorithms

    RobotSearch MATLAB Software Instructions

    Author: Bud Fox, Tel: 65 6419 1549, Email: [email protected]: 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 ofmulti-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.

  • 7/31/2019 RobotSearch User Manual

    2/4

    2

    Table 1. The provided code, including driver programs indicated in bold, dependant

    functions, and a brief description of their purpose.File NameFile NameFile NameFile Name DescriptionDescriptionDescriptionDescription

    CofM.m Determines the center of mass (CM) of a set of particles in 2D or 3D.

    Dispersion.mDispersion.mDispersion.mDispersion.m Tests dispersion ideas concerning the CM of a group of particles.DispersionCofM.m Performs dispersion of particles w.r.t. the CM of a group.

    DispersionCritElec.m Performs electrostatic dispersion of specific close particles only.

    DispersionElec.m Performs electrostatic dispersion of all particles from each other.

    Forces.mForces.mForces.mForces.m Tests ideas concerning inverse-square law force-based dispersion.

    GridSearch.m A search technique based on a Cartesian grid pattern.

    MultiRadialSearch.m A search technique based on radially expanding concentric circles.

    ParticleDensity.m Determines the density of particles given a reference-spacing.

    RadialSearch.m A single-particle radial search pattern expanding in concentric circles.

    RobotSearchRobotSearchRobotSearchRobotSearch.m.m.m.m Tests ideas of multi-robot social group-based search algorithms.

    SearchPattern.mSearchPattern.mSearchPattern.mSearchPattern.m Tests different search patterns: grid, radial and multi-radial search.

    TargetMove.m Performs target motion in linear, non-linear and random-walk motions.VoronoinCofM.m 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, orrandom-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.RobotSRobotSRobotSRobotSearchearchearchearch

    TargetMove()

    MultiRadialSearch()

    VoronoinCofM()

    CofM()

    CofM()

    DispersionCritElec()

    ParticleDensity()

    CofM()

    DispersionCofM()

    DispersionElec()

  • 7/31/2019 RobotSearch User Manual

    3/4

    3

    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.DDDDispersionispersionispersionispersion

    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.SearchPSearchPSearchPSearchPatternatternatternattern

    GridSearch()

    RadialSearch()

    MultiRadialSearch()

    VoronoinCofM()

    CofM()

    4.4 Forces

    The Forces program is used to investigate an inverse-square electrostatic force law-

    based 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.FFFForcesorcesorcesorces

    ParticleDensity()

    DispersionElec()

    ParticleDensity()

  • 7/31/2019 RobotSearch User Manual

    4/4

    4

    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. >> RobotSearch2. >> Dispersion3. >> SearchPattern4. >> 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. ConclusionThe 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

    1B. 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.com4 Octave: www.gnu.org/software/octave/

    5 Microsoft Corporation: www.microsoft.com/6 Linux: www.linux.org