robotsearch user manual
Post on 05-Apr-2018
215 Views
Preview:
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: budfox@ihpc.a-star.edu.sgDate: 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
top related