4
Point Communication for Swarm Robotic Systems Eric E. Valenzuela, Kiel Geiger, Nick Stern, Jason T. Isaacs Department of Computer Science California State University, Channel Islands Camarillo, California 93012 {eric.valenzuela798, kiel.geiger895, nicholas.dolan-stern630}@myci.csuci.edu [email protected] Abstract—We study the problem of foraging for resources in swarm robotics systems through point communication. Two algorithms are presented that perform distributive searches using point communication and simultaneous pickup and delivery. The first algorithm uses an non-deterministic search pattern, and our second algorithm uses a deterministic search pattern. Both algorithms can be applied in complex real world environments such as space exploration projects where the maximum pickup capacity is one. I. I NTRODUCTION We are concerned with the task of collecting resources where the locations of the resources are unknown and the maximum pickup capacity is one. We provide two algorithms that search a given domain and collect as many resources as possible within the least amount of time. The first algo- rithm our team developed was successfully implemented and submitted to the NASA Swarmathon Competition, and our second algorithm is currently ongoing work. Nevertheless, we demonstrate proof-of-concept evaluations for effective forag- ing strategies using the ROS (Robotics Operating System), a controller framework for Swarmie robots used in the NASA Swarmathon, a national swarm robotics competition. A majority of swarm robotics research is conducted using simulators since the complexity of performing experiments on physical robots continues to be a significant challenge. In fact, even mundane tasks such as garbage collection has proven to be a challenge in prior research [3]. Additionally, prior research in swarm robotics continue to use biologically inspired algorithms when developing foraging strategies. For instance, Hecker et al. [3] uses site fidelity and correlated random walk strategies, but their CPFA Algorithm does not guarantee that a given domain will be mapped. We refer to our first algorithm as Point Communication where each individual robot in the swarm has a queue. Coordinates are added to their queue as search sites. Swarms travel to their search site and broadcast their current position if a resource is found. Our second algorithm is refereed to as Search and Collect. It performs a lawnmower search pattern and communicates to another robot in the swarm dedicated to collecting resources only. The remainder of this paper is organized as follows: Sec- tion II describes the Point Communication Algorithm our team successfully implemented for the Swarmathon Competition. Section III and Section IV explain the effectiveness of our Point Communication Algorithm, and Section V describes the Search and Collect Algorithm our team will continue to develop outside of the Swarmathon Competition. II. SWARMATHON ALGORITHM Fig. 1. An example of one robot (triangle, red) adding six random locations within the grid to search (green points) Fig. 2. The robot (triangle, red) begins its path at a central nest site (circle), travels to search site (solid arrow) searches for 256 tags (dashed circle) and then travels to next random point (green point) At the start of the simulation, each individual robot in the swarm is assigned a unique identifier based on insertion sort. We accomplish this by creating an additional publisher and subscriber where robots can communicate with each other through a one-to-all broadcast. Additionally, a custom queue-

Point Communication for Swarm Robotic Systemsnasaswarmathon.com/wp-content/uploads/2016/05/CSUCI-Tech... · 2016-05-30 · Point Communication for Swarm Robotic Systems Eric E. Valenzuela,

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Point Communication for Swarm Robotic Systemsnasaswarmathon.com/wp-content/uploads/2016/05/CSUCI-Tech... · 2016-05-30 · Point Communication for Swarm Robotic Systems Eric E. Valenzuela,

Point Communication for Swarm Robotic SystemsEric E. Valenzuela, Kiel Geiger, Nick Stern, Jason T. Isaacs

Department of Computer ScienceCalifornia State University, Channel Islands

Camarillo, California 93012{eric.valenzuela798, kiel.geiger895, nicholas.dolan-stern630}@myci.csuci.edu

[email protected]

Abstract—We study the problem of foraging for resourcesin swarm robotics systems through point communication. Twoalgorithms are presented that perform distributive searches usingpoint communication and simultaneous pickup and delivery. Thefirst algorithm uses an non-deterministic search pattern, andour second algorithm uses a deterministic search pattern. Bothalgorithms can be applied in complex real world environmentssuch as space exploration projects where the maximum pickupcapacity is one.

I. INTRODUCTION

We are concerned with the task of collecting resourceswhere the locations of the resources are unknown and themaximum pickup capacity is one. We provide two algorithmsthat search a given domain and collect as many resourcesas possible within the least amount of time. The first algo-rithm our team developed was successfully implemented andsubmitted to the NASA Swarmathon Competition, and oursecond algorithm is currently ongoing work. Nevertheless, wedemonstrate proof-of-concept evaluations for effective forag-ing strategies using the ROS (Robotics Operating System), acontroller framework for Swarmie robots used in the NASASwarmathon, a national swarm robotics competition.

A majority of swarm robotics research is conducted usingsimulators since the complexity of performing experimentson physical robots continues to be a significant challenge.In fact, even mundane tasks such as garbage collection hasproven to be a challenge in prior research [3]. Additionally,prior research in swarm robotics continue to use biologicallyinspired algorithms when developing foraging strategies. Forinstance, Hecker et al. [3] uses site fidelity and correlatedrandom walk strategies, but their CPFA Algorithm does notguarantee that a given domain will be mapped.

We refer to our first algorithm as Point Communicationwhere each individual robot in the swarm has a queue.Coordinates are added to their queue as search sites. Swarmstravel to their search site and broadcast their current positionif a resource is found. Our second algorithm is refereed to asSearch and Collect. It performs a lawnmower search patternand communicates to another robot in the swarm dedicated tocollecting resources only.

The remainder of this paper is organized as follows: Sec-tion II describes the Point Communication Algorithm our teamsuccessfully implemented for the Swarmathon Competition.Section III and Section IV explain the effectiveness of our

Point Communication Algorithm, and Section V describesthe Search and Collect Algorithm our team will continue todevelop outside of the Swarmathon Competition.

II. SWARMATHON ALGORITHM

Fig. 1. An example of one robot (triangle, red) adding six random locationswithin the grid to search (green points)

Fig. 2. The robot (triangle, red) begins its path at a central nest site (circle),travels to search site (solid arrow) searches for 256 tags (dashed circle) andthen travels to next random point (green point)

At the start of the simulation, each individual robot in theswarm is assigned a unique identifier based on insertion sort.We accomplish this by creating an additional publisher andsubscriber where robots can communicate with each otherthrough a one-to-all broadcast. Additionally, a custom queue-

Page 2: Point Communication for Swarm Robotic Systemsnasaswarmathon.com/wp-content/uploads/2016/05/CSUCI-Tech... · 2016-05-30 · Point Communication for Swarm Robotic Systems Eric E. Valenzuela,

Fig. 3. The robot (triangle, red) continues to travel to all search locations andthen travels to path where resources were detected (dashed line) and returnsto nest (dotted line)

like data structure is created where individual robots have theirown path through a list of waypoints.

The Point Communication Algorithm our team developedfor the Swarmathon Competition adds six random locationsto the queue of each individual robot if their queue is empty.Random location points are based on Gaussian in distancefrom the center, and they are designed to fit within the arenaof the preliminary and final rounds. As swarms travel to theirsearch sites, each individual robot searches for 256 tags. Oncea resource is found, the robot broadcasts their current positionto the rest of the swarm.

Each robot transitions through a series of states as it foragesfor resources:• Random Points If queue is empty, add six random points

to queue.• Queue Robot travels to search site taking the shortest

path.• Detect If search site is reached, search for 256 april tags.

If resource found, broadcast current position.Algorithm 1 presents the pseudocode of our Point Commu-

nication Algorithm, and Figures 1, 2 and 3 show the processof how our algorithm appears in the simulator.

III. SWARMATHON ALGORITHM EXPERIMENTS

A. Experimental Setup

The simulator provided by the University of New Mexico,Albuquerque, replicates the physical dimensions of real robotsused in controlled laboratory settings [3]. This includes theirspeed while traveling and searching and the area over whichthey can detect resources [3]. The simulator provides twodifferent size of arenas, 15m by 15m and 22m by 22m. Atotal of 256 resources are placed in one of three distributions:clustered, power law, or uniform. Our experimental setupinvolved the same rules used for the NASA SwarmathonCompetition which is described in Table I

IV. RESULTS

Our team performed one simulation for each of the threedifferent distributions in the preliminary and final rounds as

Algorithm 1 Point Communication1: Add six random locations to queue2: Disperse from central nest to random locations in queue3: while experiment running do4: if resource found then5: Search for 256 tags near current location6: if Other resources are found then7: Add locations to queue and broadcast8: end if9: Collect resource

10: Return to nest with resource11: else if Queue is not empty then12: Travel to next location in queue13: else14: Add six new random points to queue15: end if16: end while

TABLE IEXPERIMENTAL SETUP

Swarm Size 3 6Arena Size 15m x 15m 22m x 22mTime Elapsed 30mins 1hr

shown in Table II. We expected our Point CommunicationAlgorithm to perform best with the Clustered distributionbecause if a resource was detected and broadcasted, all otherrobots would eventually travel to this specific search site andthe probability remaining resources in the area would be high.However, the possibility of why our expected results did notoccur could be that our swarm took an extremely long timeto find a cluster.

V. ONGOING WORK

Consider the following resource collection task where alllocations are known and pickup capacity is unlimited. Figure 4shows a typical solution for collecting resources using aheuristic which analyzes data points and returns the shortest-possible route which visits each point exactly once [2]. Thisproblem can be characterized as the well studied TravelingSalesman Problem (TSP), and several heuristics exist thatcould be used to determine the optimal order in which tocollect the resources. However this approach relies on therebeing no limit to the pickup capacity and the resource locationsbeing known a priori.

However, we are concerned with the task of collecting re-sources where the locations of the resources are unknown andthe maximum pickup capacity is one. This task is similar to thevehicle routing problem with simultaneous pickup and deliveryproblems (VRPSPD) found in operations research [1]. Figure 5demonstrates the type of problem we are facing. The main con-tribution of our second algorithm is to accomplish two specifictasks: (1) search a given domain using a deterministic searchpattern such as lawnmower and (2) collect resources usingsimultaneous pickup and delivery. Our team began developing

Page 3: Point Communication for Swarm Robotic Systemsnasaswarmathon.com/wp-content/uploads/2016/05/CSUCI-Tech... · 2016-05-30 · Point Communication for Swarm Robotic Systems Eric E. Valenzuela,

TABLE IINUMBER OF RESOURCES DETECTED USING POINT COMMUNICATION

ALGORITHM

Preliminary FinalClustered 6 39Power Law 51 83Random 74 107

Fig. 4. An example of a single cycle using TSP. The robot (triangle) beginsits path at a central nest site (circle), collects resources (dashed line) andreturns to nest (dotted line)

Fig. 5. An example of multiple cycles with simultaneous pickup and delivery.The robot (triangle) begins its path at a central nest site (circle), travels tonearest resource (dashed line) and returns to nest (dotted line) and continuesuntil all resources are collected

this algorithm throughout the Swarmathon Competition onthe task allocation branch in the BCLab-UNM/Swarmathon-CSUCI repo; however, because of the deadline, we submitteda working solution - Point Communication Algorithm BCLab-UNM/Swarmathon-CSUCI/master.

Pseudocode of our proposed Search and Collect Algorithmcan be found in Algorithm 2, and a graphical representationof how our algorithm will appear in the simulator is shown inFigures 6 and 7.

Search and Collect uses a lawnmower search pattern wheretwo robots search and one robot collects in a size three swarm.The search patterns starts from the boarders of the arena andslowly cycles back to the central nest. Since the third robotis constantly performing pickups, the area around the centralnest of the arena will be highly dense. Figure 8 confirms how

Fig. 6. An example where two robots (triangle, red and purple) begins itspath at a central nest site (circle), searches for resources (solid line) and placesall detected resources in a queue

Fig. 7. The third robot (triangle, green) begins it path at a central nest site(circle) to collect resources from the queue, and detects other resources alongthe way. Instead of traveling to search site, it returns with nearest resourcefound (dotted line)

dense the center of the arena looks after one full simulationusing our Point Communication Algorithm.

Fig. 8. Data collected from one of the robots in the simulation using finalround and clustered distribution. It contains all the points in which the robottraveled within one hour. All data was collected using rostopic \aeneas\odom,parsing x and y coordinates under “positions:”

Lawnmower search pattern is one of the most widely usedsearch patterns because of it′s simplicity and guarantee of pathcontinuity [4]. However, the dependency of the camera sensorfootprint to detect resources is important as we do not want to

Page 4: Point Communication for Swarm Robotic Systemsnasaswarmathon.com/wp-content/uploads/2016/05/CSUCI-Tech... · 2016-05-30 · Point Communication for Swarm Robotic Systems Eric E. Valenzuela,

overlap or miss any of the resources as we are performing asearch. Ideally, we would want to perform a tight lawnmowersearch such that we do not miss resources as we are searching.

Each robot transitions through a series of states as it foragesfor resources:

• Lawnmower Approximately one third of the swarm, par-tition the given domain and perform a lawnmower search.

• Random Walk If queue is empty, add six random pointsto queue. Travel to search site taking the shortest path.

• Queue If queue is not empty, travel to search site and addpositions to queue if resources are detected.

• Collect Return to central nest.

Algorithm 2 Search and Collect1: if Unique ID ≤ (swarm size)/3 then2: Disperse from central nest and perform lawnmower search3: else4: Disperse from central nest and perfrom random walk5: end if6: while experiment running do7: switch search path do8: case lawnmower9: if resource found then

10: Add target detected position to queue11: else if lawnmower search is complete then12: search path = queue13: end if14: case random walk15: if resource found then16: search path = collect17: else18: search path = random walk19: end if20: case queue21: if queue is not empty then22: search queue for closest position23: search path = collect24: else25: search path = random walk26: end if27: case collect28: collect resource and return to nest29: search path = queue30: end while

VI. CONCLUSION

Both Point Communication and Search and Collect algo-rithms can be applied to space exploration projects. Our PointCommunication Algorithm demonstrates best results in thesimulator for random distribution of resources. California StateUniversity, Channel Islands acknowledges how useful the ROSsimulator had been to test our algorithms.

REFERENCES

[1] The Jin Ai and Voratas Kachitvichyanukul. A particleswarm optimization for the vehicle routing problem withsimultaneous pickup and delivery. Computers & Opera-tions Research, 36(5):1693–1702, 2009.

[2] James A Chisman. The clustered traveling salesmanproblem. Computers & Operations Research, 2(2):115–119, 1975.

[3] Joshua P Hecker and Melanie E Moses. Beyondpheromones: evolving error-tolerant, flexible, and scalableant-inspired robot swarms. Swarm Intelligence, 9(1):43–70, 2015.

[4] Jarurat Ousingsawat and Matthew G Earl. Modified lawn-mower search pattern for areas comprised of weightedregions. In American Control Conference, 2007. ACC’07,pages 918–923. IEEE, 2007.