Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International...

9
Wheeled Robots playing Chain Catch: Strategies and Evaluation Garima Agrawal International Institute of Information Technology Hyderabad, India [email protected] Kamalakar Karlapalem IIIT Hyderabad/IIT Gandhinagar India [email protected] ABSTRACT Robots playing games that humans are adept in is a chal- lenge. We studied robotic agents playing Chain Catch game as a Multi-Agent System (MAS). Our game starts with a traditional Catch game similar to Pursuit evasion, and fur- ther extends it to form a growing chain of predator agents to chase remaining preys. Hence Chain Catch is a combi- nation of two challenges - pursuit domain and robotic chain formation. These are games that require team of robotic agents to cooperate among themselves and to compete with other group of agents through quick decision making. In this paper, we present a Chain Catch simulator that allows us to incorporate game rules, design strategies and simu- late the game play. We developed cost model driven strate- gies for each of Escapee, Catcher and Chain. Our results show that Sliding slope strategy is the best strategy for Escapees whereas Tagging method is the best method for chain 0 s movement in Chain Catch. We also use production quality robots to implement the game play in a physical en- vironment and analyze game strategies on real robots. Our real robots implementation in different scenarios shows that game strategies work as expected and a complete chain for- mation takes place successfully in each game. Categories and Subject Descriptors I.2.11 [Distributed Artificial Intelligence]: Multiagent systems General Terms Design, Algorithms, Experimentation, Performance Keywords Strategies, Multi-agent games, Simulation, Robots, Heuris- tics 1. INTRODUCTION We implement robotic agents playing Chain Catch, which is a common multi-player playground game that requires strategic decision making and cooperation among chain mem- bers to stay together (as a chain) while catching another Appears in: Proceedings of the 15th International Confer- ence on Autonomous Agents and Multiagent Systems (AA- MAS 2016), John Thangarajah, Karl Tuyls, Stacy Marsella, Catholijn Jonker (eds.), May 9–13, 2016, Singapore. Copyright c 2016, International Foundation for Autonomous Agents and Multiagent Systems (www.ifaamas.org). All rights reserved. player whereas other players to compete with chain to escape from getting caught. Simulating robot games like Robo- soccer and Robot pursuit evasion games have been a topic of extensive research in the field of Multi-Robot systems [4, 7, 14]. Our game starts as simple Catch-Catch or “tag” game that falls under pursuit domain problems. In our Chain Catch game (i) the Catcher Catches one of the Escapees, (ii) the Catcher and caught Escapee form a chain to Catch other Escapees and (iii) step (ii) is repeated until all Escapees are caught and become part of one chain. Chain Catch requires complex and efficient strategies to counter the Catcher or chain. The game also requires us to develop techniques for robotic chain formation and movement suitable in game sce- nario. Our Chain Catch agents are autonomous and com- pute their strategy in a decentralized manner. 1.1 The Chain Catch Game setup The world of the Robo Chain Catch game is a grid of size Width*Height (can be varied). Each cell in the grid is considered as one unit and has distinct position given by its x and y coordinates. The world is surrounded by four boundary edges that can be seen as walls, as the agents need to restrict their motion within these boundaries. Two agents cannot occupy the same cell. A Chain Catch agent is defined by three parameters, (x, y, CatchMode ). Following are the game rules, terms and parameters used throughout this paper- Catcher Agent, that is assigned the role of chasing and catching other agents is a Catcher. Escapee Agents, that try to evade from the Catcher or chain in the game are Escapees. Chain member Each agent part of the chain is called a Chain member. Agent Diameter Each Agent has a specific diameter which is specified in the units of cell. Visible range All the agents can see all other agents in the field. Legal Moves The agents are allowed to move to their eight adjacent cells, including diagonal cells. Catch A Catch is said to happen between a catcher or chain member and an escapee if distance between them is less than or equal to Agent Diameter. Chain constraints Arrangement of robots is considered as a chain when each member of chain has two neighbours - (one to its left and one to its right) at a minimum distance r1 (Agent Diametre) and maximum r2 (2*Agent Diametre) apart. Two ends of chain should not meet each other and should have one neighbour each. If the chain breaks (not binding to chain constraints) in between the game, a Catch arXiv:1602.06460v1 [cs.MA] 20 Feb 2016

Transcript of Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International...

Page 1: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

Wheeled Robots playing Chain Catch: Strategies andEvaluation

Garima AgrawalInternational Institute of Information Technology

Hyderabad, [email protected]

Kamalakar KarlapalemIIIT Hyderabad/IIT Gandhinagar

[email protected]

ABSTRACTRobots playing games that humans are adept in is a chal-lenge. We studied robotic agents playing Chain Catch gameas a Multi-Agent System (MAS). Our game starts with atraditional Catch game similar to Pursuit evasion, and fur-ther extends it to form a growing chain of predator agentsto chase remaining preys. Hence Chain Catch is a combi-nation of two challenges - pursuit domain and robotic chainformation. These are games that require team of roboticagents to cooperate among themselves and to compete withother group of agents through quick decision making. Inthis paper, we present a Chain Catch simulator that allowsus to incorporate game rules, design strategies and simu-late the game play. We developed cost model driven strate-gies for each of Escapee, Catcher and Chain. Our resultsshow that Sliding slope strategy is the best strategy forEscapees whereas Tagging method is the best method forchain′s movement in Chain Catch. We also use productionquality robots to implement the game play in a physical en-vironment and analyze game strategies on real robots. Ourreal robots implementation in different scenarios shows thatgame strategies work as expected and a complete chain for-mation takes place successfully in each game.

Categories and Subject DescriptorsI.2.11 [Distributed Artificial Intelligence]: Multiagentsystems

General TermsDesign, Algorithms, Experimentation, Performance

KeywordsStrategies, Multi-agent games, Simulation, Robots, Heuris-tics

1. INTRODUCTIONWe implement robotic agents playing Chain Catch, which

is a common multi-player playground game that requiresstrategic decision making and cooperation among chain mem-bers to stay together (as a chain) while catching another

Appears in: Proceedings of the 15th International Confer-ence on Autonomous Agents and Multiagent Systems (AA-MAS 2016), John Thangarajah, Karl Tuyls, Stacy Marsella,Catholijn Jonker (eds.), May 9–13, 2016, Singapore.Copyright c© 2016, International Foundation for Autonomous Agents andMultiagent Systems (www.ifaamas.org). All rights reserved.

player whereas other players to compete with chain to escapefrom getting caught. Simulating robot games like Robo-soccer and Robot pursuit evasion games have been a topic ofextensive research in the field of Multi-Robot systems [4, 7,14]. Our game starts as simple Catch-Catch or “tag” gamethat falls under pursuit domain problems. In our ChainCatch game (i) the Catcher Catches one of the Escapees, (ii)the Catcher and caught Escapee form a chain to Catch otherEscapees and (iii) step (ii) is repeated until all Escapees arecaught and become part of one chain. Chain Catch requirescomplex and efficient strategies to counter the Catcher orchain. The game also requires us to develop techniques forrobotic chain formation and movement suitable in game sce-nario. Our Chain Catch agents are autonomous and com-pute their strategy in a decentralized manner.

1.1 The Chain Catch Game setupThe world of the Robo Chain Catch game is a grid of

size Width*Height (can be varied). Each cell in the grid isconsidered as one unit and has distinct position given byits x and y coordinates. The world is surrounded by fourboundary edges that can be seen as walls, as the agentsneed to restrict their motion within these boundaries. Twoagents cannot occupy the same cell. A Chain Catch agent isdefined by three parameters, (x, y, CatchMode). Followingare the game rules, terms and parameters used throughoutthis paper-Catcher Agent, that is assigned the role of chasing andcatching other agents is a Catcher.Escapee Agents, that try to evade from the Catcher orchain in the game are Escapees.Chain member Each agent part of the chain is called aChain member.Agent Diameter Each Agent has a specific diameter whichis specified in the units of cell.Visible range All the agents can see all other agents in thefield.Legal Moves The agents are allowed to move to their eightadjacent cells, including diagonal cells.Catch A Catch is said to happen between a catcher or chainmember and an escapee if distance between them is less thanor equal to Agent Diameter.Chain constraints Arrangement of robots is considered asa chain when each member of chain has two neighbours -(one to its left and one to its right) at a minimum distancer1 (Agent Diametre) and maximum r2 (2*Agent Diametre)apart. Two ends of chain should not meet each other andshould have one neighbour each. If the chain breaks (notbinding to chain constraints) in between the game, a Catch

arX

iv:1

602.

0646

0v1

[cs

.MA

] 2

0 Fe

b 20

16

Page 2: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

occurred during that time is rejected.Game Over The game gets over when all the agents ingame become part of one chain. However, in practice, robotsget discharged after a certain time. Therefore, we limit totalgame time in terms of maximum number of steps taken byan agent which is based on size of arena.

1.2 Related WorkThere is work done on simulating robot games as Multi-

agent systems like Robo-soccer [7, 3, 12] and pursuit domaingames such as man and lion game [11, 10] and traditionalpursuit evasion [4, 14, 14]. However, there has not been anywork in direction of implementing Chain Catch as a multi-robot system. Korf suggested a standard solution to thepursuit problem [6] using the concept of attractive and re-pulsive forces. Our Escapees naive strategy is inspired fromKorfs solution to preys motion. However, there are morethan one number of Escapees (preys) in our game, hencethey require to have explicit cooperation among themselvesto counter and disturb the Catcher/Chain strategy.

Lion and man problem [11] is also another game frompursuit domain. Gale does not consider boundary condi-tion and allows alternate turns of players, Whereas in ourgame all the agents move simultaneously restricted to fourboundaries. Game theoretical approaches can also be usedfor prey-predator games [5]. But however this approach iscentralized, as there has to be a central server who does thecalculation of the payoff function for all the possible strate-gies and then intimate predators with corresponding movethat leads to capture the prey.

In the chain formation behavior, robots have to positionthemselves in order to connect to their two neighbours. InMead et al, control of robot formation shapes is achievedby treating each robot as a cell in a cellular automaton,where local interactions between robots result in a globalorganization [9]. Maxim used virtual physics-based designto form chains of robots [8]. In their application, first robotremains stationary at the entrance of the environment andother agents move to get into formation. All the techniquesabove do not incorporate our game rules such as, bound-ary condition, dynamically changing length of the chain,chasing and surrounding a competitive prey. We developCatch-Catch and Chain Catch game as multi-agent systemwhere the world of game is set as a rectangular grid modeland each agent is modeled as an autonomous agent. Weuse cost model to drive strategies that have implicit forma-tion tactics, game rules such as boundary cross, and collisionavoidance embedded into them. Using this solution, we havedeveloped four strategies for Escapees and two techniques forchain formation that is presented in section 4. We also per-formed a number of empirical experiments to analyze andcompare performance of the strategies. We used produc-tion quality robots to implement the game play in physicalenvironment and showing viability of our solution.

2. AGENT STRATEGIESWe use a cost model to develop strategies for each of Es-

capee, Catcher and Chain. The cost functions are a meansto estimate the effectiveness of a move or decision taken bythe agent. Lesser the cost of a cell, better it is for the agentto move into it.

2.1 Catchers strategy

The game starts with one agent playing as Catcher tryingto chase and Catch one of the Escapees. Let the coordi-nates of Catcher (Cx, Cy) and coordinates of Escapees beE={

(x1, y1), (x2, y2), ..(x(n−1), y(n−1))}

where n is equal tothe number of agents in the game. Then let the function ofCost(x,y) (where, (x,y) are coordinates of cell) for Catcherstrategy be

Costnd(x, y) =√

(x− Ex)2 + (y − Ey)2 (1)

Here Ex and Ey are the coordinates of the Escapee that hasminimum distance Dc from the Catcher.

EDc = arg mini

(Distance(Catcher c, Escapee ei)) (2)

At each cycle, Catcher computes Euclidean distance from allthe escapees, and the minimum distance among them takesthe Catcher towards nearest Escapee to catch the Escapee.

2.2 Escapees strategyMain criteria for Escapees′ strategy is the distance to the

Catcher or chain that is chasing them. Distance to Catchercan be determined based on the coordinates of cell whereCatcher resides but however to determine effective distanceto chain a Representation Point of chain needs to be de-cided. Representation Point is chosen based on the memberof chain that is nearest from the Escapee. Let minimumdistance Dch from the Escapee be-

Dch = mini

(Distance(Escapee E,Chain Members Chi))

(3)Note that the Representation Point varies for each Escapeeand it also changes at each cycle of the game, as relativepositions of the agents change at each cycle.

2.2.1 Maximize Distance or Naive StrategyWith all the notations above keeping intact, consider a

function.

Costmd(x, y) = MAXCONSTANT − Catcher Distance(4)

Catcher Distance =√

(x− Cx)2 + (y − Cy)2 (5)

With (x,y) as coordinates of the cell and (Cx, Cy) as thecoordinates of Catcher or Representation Point of chain.Catcher Distance (CD) is Euclidean distance from cell tothe chain and Maxconstant is set to a value greater thanmaximum possible distance between two cells in game field.

The cost is maximum at the position of the cell whereCatcher or the chain′s Representation Point itself is located.And as we go far from the Catcher/chain the Catcher Dis-tance increases, thus decreasing the Cost. Since aim of anagent is to move to the cell with minimum cost, this costfunction moves it away from Catcher/chain and to evadethe chain.

2.2.2 K circle StrategyWe extend our strategy for the Escapees to multiple cri-

teria. It not only depends upon the Catcher Distance (CD)but also distance to fellow Escapees. Consider a cost func-tion,

Costk(x, y) = |K − Catcher Distance| (6)

Where K is the safe distance we want all Escapees to main-tain from Catcher or Chain′s Representation Point. This

Page 3: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

cost function becomes zero (minimum) only at the cell pointswhere Catcher Distance is equal to K. The idea is to providemultiple Escapees as catchable preys to Catcher/chain for itto decide which Escapee to pursue. Now, from the Escapeespoint of view, we further want to complicate things for thechain by limiting chain’s movable area and surround it com-pletely with Escapees. Also, as the distance between Es-capees decreases, probability of their collision also increases,hence we need to introduce additional cost due to neighborEscapees that are substantially close to it.

Consider a new cost function

Costkc(x, y) =

|K − CD|+NSD −NND, if

(NND < NSD)

|K − CD|, otherwise

(7)Nearest Neighbor Distance (NND) is the distance from cellto the closest fellow Escapee.

NND = mini 6=j

(Distance(Cell, Escapee ei)) (8)

And Neighbour Safe Distance (NSD) is the minimum safedistance an Escapee should maintain from other Escapeesand j is the Escapee whose move is being calculated. Usingthis cost function Escapee tends to maintain safe distancefrom fellow Escapees while achieving a spread among them-selves and maintaining K distance from the Chain, leadingto a circle like formation with a radius equal to K. Thevalue of K is set to enable formation of freely moving K cir-cles in the region. Value of Neighbour Safe Distance (NSD)is decided based upon number of agents and their diame-ter. Considering the diameter constant, if number of agentsare less, greater the value of Neighbour Safe Distance, betterand circular is the spread around the Catcher, whereas if thenumber of agents are significantly high, then a small valueof safe distance helps form a better formation and avoid col-lision.

2.2.3 K circle Strategy with RotationWe enhance K circle strategy by making the Escapees

rotate around the Catcher or Representation Point of chainwhen it reaches the K circle. Consider cost function whensuch condition is met:

Costkr(x, y) = Distance to Rotation Point,

if(K−K2) ≤ Catcher Distance < (K + K2)(9)

The cost function remain same as in equation 7 in all othercases.

Distance to Rotation Point =√

(x−Rx)2 + (y −Ry)2

(10)Where (x,y) are coordinates of the cell and (Rx,Ry) are thecoordinates of the rotation point such that,

Rx = Cx +K ∗ cos(θ + dθ),

Ry = Cy +K ∗ sin(θ + dθ)(11)

Where (Cx,Cy) are coordinates of Chain’s RepresentationPoint/Catcher as center and K is the radius of the K-circle.θ is the angle the Escapee under consideration makes withrespect to the Catcher/chain at that instant in the gamefield. dθ is the angle with which we aim to rotate the Es-capee. K2 is a parameter used to define the range of Kradius. It is kept as unit cell in our simulations.

Figure 1: Depictionof Rotation point inK circle strategy withrotation.

Figure 2: Example ofMotion of Escapee onthe slope with a slopeat North West corner.

In the equation 9, cost function is equal to Euclidean dis-tance of a cell from a Rotation Point when the Escapee islying on the K circle or within range of K ( K ± K2). As thedistance of a cell decreases from given Rotation Point, costalso decreases and the function becomes zero at the givenpoint. Since an agents aim is to stay in a cell with minimumcost, this function leads the Escapee to move towards a cellthat is closest to such a point on the K circle (with Catcheras center) which makes dθ angle with current position of theEscapee (see Figure 1). Ultimately the strategy makes allthe escapee spread among themselves forming a circle withradius equal to K and also rotate around it.

2.2.4 Sliding Slope strategyThis strategy is another extension to the K circle strategy

with cost function in equation 7. Note that, Escapees aremost prone to get captured at the corners of the game grid,because two sides of the field are bounded and therefore,limiting agent′ moves. To avoid a trap near the corner weintroduce a virtual slope at four corners of the arena throughwhich an Escapee can slide. Slope is an imaginary diagonaledge near the corners of game arena, whose path an Escapeecan take to escape from chain.

In this strategy Escapee moves with cost function givenin equation 7, except when it strikes one of the grid cellspart of a sliding slope. In that case its Legal Moves arerestricted to only the cells that are along the slope it ison. Once it lies on the slope, it chooses to go in directionof the slope end that is farther from the chain (see Figure2). Table 1 summarizes all strategies discussed in sectionabove. It describes cost function’s equations in words andbriefly explains their effect on formation of Escapees.

2.3 Chain’s StrategyMember agents of the chain have dual objectives- (i) Catch

an Escapee (ii) maintain chain formation. We have designedfollowing strategies for chain members keeping the two ob-jectives under consideration.

2.3.1 Tagging Method

Case 1: Catch by ends of chainConsider three terms for this strategy-(i)Leader of chain(Chain member that chases the Escapee), (ii) leader agent(any agent of the game, which is being followed by a chain

Page 4: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

Strategyname

Cost function Description

Maximize dis-tance (Naive)

Escapees maximize their distance fromCatcher and gather near boundaries ofarena

K circle Escapees surround Catcher in a circle withradius equal to “K” maintaining NSD fromnearest Escapee

K circle withrotation

Escapees surround Catcher with in a circleand rotate around it

Sliding slope Escapees form a K circle and slide towardsthe end of the sliding slope that is fartherfrom Catcher or chain

Table 1: Summarizing strategies for Escapees.

Figure 3: An exampleof Chain Tag

Figure 4: Chainconcave formationaround Escapee withVariance function.

member),(iii) Tagged member, Chain member which followsor moves in sync to its leader agent . We first find theLeader of chain by finding the corner member that is clos-est to the nearest Escapee in the game field. Consider agame of n agents with m agents member of chain withcoordinates Ch={(a1, b1), (a2, b2), ...(am, bm)} and EscapeesE={

(x1, y1), (x2, y2), ..(x(n−m), y(n−m))}

.Once the Leader of chain is assigned; it also becomes the

leader agent for the member next to it. This member nextto Leader of chain gets tagged to its leader agent such thatthe tagged member always moves to the cells adjacent tothe leader agent. This tagged member then becomes leaderagent for the agent next to it in the chain. Such a tag prop-agates until the other end of the chain. Consider Figure 3to understand the tag.

Now, consider the cost function of this strategy.

Costtm(x, y) = |Rsafe −Dl| (12)

And,

Dl =√

((x− lx)2 + (y − ly)2) (13)

Where (x,y) are the coordinates of the cell. And for theCost(x,y) for the Leader of chain, Rsafe is the safe distancefrom the Leader of the chain to the Escapee it is chasing (it iskept equal to diameter of the agent in our simulations) suchthat it just touches the Escapee. And Dl is the Euclideandistance of a cell (x,y) to the leader agent (lx, ly) whichin this case is the Nearest Escapee (Ex, Ey), the Leader ischasing.

Now, for the cost(x,y) for the other members of the chainRsafe is the safe distance between neighbor members of thechain. And Dl is the Euclidean distance of a cell (x,y) to

the leader agent (lx, ly) of the chain member to which it istagged. For a chain member Chi (ai, bi) its leader agent(lx, ly) is,

(lx, ly) =

(a(i−1), b(i−1)), if

Leader of the chain is the last

member of the Chain (a1,b1)

(a(i+1), b(i+1)), if

Leader of the chain is the last

member of the chain (am,bm)

(Ex, Ey), if

Chi is Leader of chain

(14)

The cost function equation shows that this function tries tomaintain a chain member′s distance to Rsafe from its leaderas it attains its global minimum (equal to zero) at Dl equalto Rsafe. Dl for the Leader of the chain is the distance fromnearest Escapee it is chasing. This condit ion becomes sim-ilar to Catchers strategy discussed earlier where the Leaderof chain tries to minimize its distance to Escapee. To keepthe chain in sync with motion of the Leader, other mem-bers try to maintain distance Rsafe from their leader agentto which they are tagged in direction of the Leader of thechain (see Figure 3).

Case 2: Catch by any chain memberIn this case also functionality of Tagging method remainssame except that there are more choices for the Leader.Leader is assigned to the chain member that is closest tothe nearest Escapee in the game field. Here all the mem-bers left to the Leader get tagged to the members right tothem up till the Leader and all the members right to theLeader get tagged to members on their left in direction ofthe Leader.

Once the agents are tagged, the cost function in equation12 is applied to each of chain member and they move tothe cell with minimum cost. Therefore, we get the Leadermoving in direction to the nearest Escapee and other mem-bers in direction to their leader members with safe distanceRsafe. This way we are able to get a synchronized motionof chain in direction to its target Escapee.

2.3.2 Variance MethodIn this method, we use the concept of Variance function

that decides the distance a chain member should maintainfrom the Escapee.

Case 1: Catch by ends of chainHere, Leader of the chain is chosen based on its distancefrom the nearest Escapee. Since in case 1 only corner mem-bers can catch an Escapee, we find the corner member thathas minimum distance from the Escapee it has to chase. Es-capee to be chased at each cycle of the game is chosen tobe one with minimum distance from the Leader of the chaincompared to other Escapees.

In our variance function, we try to surround an escapee byforming a loop like structure around it as shown in Figure 4.We set variance distance of two ends of the chain to Rsafe

as the corners need to catch the Escapee. Then incrementvariance value from corner to the middle member. If chainhas n (1 to n) members then variance value of ith member

Page 5: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

will be

V ariance[i] =

variance[i− 1] +R, if

i ∈ (1,m/2]

V ariance[i− 1]−R, if

i ∈ (m/2,m)

Rsafe, if

i ∈ 1,m

(15)

Where R is the radius of the agents.Consider the following cost function,

Costve(x, y) = |Re −De| (16)

WhereRe is the variance distance from Escapee,(Re=Variance[id])And De is the distance of cell (x,y) from the Nearest Escapee(Ex, Ey). As we can see in equation, this cost function [16]assures a Chain member to maintain a distance Re from theEscapee, the chain is chasing. The cost function attains itsminimum at De equal to Re, where Re is given by the vari-ance function defined above. However this function does notassure maintenance of chain formation. Therefore, the costfunction is modified to the following,

Costvh(x, y) =

|Re −De| if

(r1 < Dc < r2)

|Re −De|+ |Rc −Dc|otherwise

(17)

Where Rc is the safe distance between two neighbor mem-bers of the Chain; it is kept as average of r1 and r2 discussedin section 2. And Dc is the Euclidean distance of cell (x,y)from the neighbor Chain member. If a chain member doesnot lie within range of r1 and r2 from its neighbor, it is pro-vided with additional cost |Rc −Dc| of staying outside therange. Hence the two functions combined try to move thechain in such a way that it surrounds Escapees with givenVariance and maintain safe distance among each other.

Case2: Catch by any chain memberHere, Leader is that has minimum distance from the closestEscapee.Since in this case a Leader can be a member in betweenthe chain as well, it has to have smaller value of Variancedistance from the Escapee unlike the variance in case-1. Ifindex of the Leader in the chain is LeadIndex and numberof agents in the chain are m then

V ariance[i] =

Rsafe if

i = LeadIndex

V ariance[LeadIndex]+

|LeadIndex− i| ∗R otherwise

(18)

We organize the chain members such that the Leader is clos-est to Escapee and others are farther forming concave struc-ture in direction opposite to the Escapee. Same cost that inequation 17 can be used here as well. With Dc as distancefrom the neighbor in direction of the Leader.Table 2 summarizes all strategies discussed for chain in thissection.

We handle boundary condition by adding cost value ofinfinity to the cells on the arena that are at the boundary

Strategyname

Leader Description

Taggingmethod(Case-1)

Nearestcorner ofchain fromEscapee

Leader moves towards nearest Es-capee. Other members tag them-selves to their neighbour in direc-tion of Leader and move to the cellclosest to it

Variancemethod(case-1)

Nearestcorner ofchain fromEscapee

All members try to attain differentvariance distances from Escapee tosurround it while maintaining safedistance Rc from their neighbours

Taggingmethod(case-2)

Nearestchain mem-ber fromEscapee

Leader moves towards nearest Es-capee. Other members to its leftand right tag themselves to theirneighbour in direction of Leader

Variancemethod(case-2)

Nearestchain mem-ber fromEscapee

All members try to attain differentvariance (as defined for case-2) dis-tance from Escapee while maintain-ing Rc from neighbours

Table 2: Summarizing strategies for chain

edges of the game field and where another agent is alreadyresiding. Once such cells are filtered out only then the costfunctions are applied to calculate the cost of other legal cells.This ensures that agents do not cross the boundary walls andstill adjust their formation and movement accordingly.

3. ROBOT SIMULATIONWe use production quality Robotic platforms Fire Bird- V

ATMEGA2560 for this purpose that are designed and builtby Nex robotics [1]. The communication is done throughXbee API module. Our robotic setup does not have localiza-tion mechanism therefore, we implement virtual localizationthrough communication. These robotic agents are similar interms of size, speed (same and constant) and behavior. Toestablish communication among the agents through a coor-dinator we follow a message protocol. The coordinator sendsan initial information message packet to all the agents thatcontains unique ID to each robot, their initial x and y coor-dinates and CatchMode. Users have to place the robots ontothe specified starting location to begin the game with. Oncethe game begins, the robots computes the best move possibledepending upon information it has about other agents usingthe Strategy Engine module. These moves are any one ofLegal Moves discussed earlier. The Move is then processedby the Motor Control module, which converts the motioncommand into corresponding control signal that is fed intoMotor driver through GPIOs. We also use a control algo-rithm to maintain and balance our robots as autonomousself-balancing four wheel robot based on the PID controller[13]. We have six robots; we implemented each of Catcher,Escapee and Chains algorithms on these robots in differentscenarios and examined the performance.

Consider an example in Figure 5 Here we take game fieldgrid of size 220x220 cm where our robots diameter is 16 cm.There are six robots playing the game with middle playerwith flag playing as Catcher (part (1) of figure). Black ar-rows in the snapshots depict the direction of motion of robot.Here we apply cost function discussed in equation 7 for theEscapees. Therefore, they attempt to form a circle-like for-mation around the Catcher as seen in part (2) of the figure.

Page 6: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

Figure 5: Robot simulation of Chain game with chains Tagging method and Escapees moving with K circlestrategy. (1) Initial condition. (2) K circle around Catcher. (3) First Catch (4) Chain of three (5) Chain offive. (6) Chain completion

We observed that more the number of players, fuller is theformation of circle. As we can see in part(3), after the firstCatch,the number of Escapees reduce down to four and whenthe chain resides near the corner of the game field, Escapeesform a K-arch like formation around the chain. When twoplayers satisfy the condition of Catch discussed earlier, weconsider them to form a chain. However a physical touchbetween robots is not encouraged in our implementation, asit leads to collision among them and that disturbs their di-rection of motion in a continuous game. Hence when twoare in vicinity of each other as shown in part (3), we con-sider it to be a Catch. The chain expands every time aCatch occurs (Figure 5, part (3,4,5,6)). Here chain moveswith Tagging approach. We observe synchronized move ofrobots in the chain in each round of Catch. Consider figure5 part (6)) where directions of each robot shows how thelast Escapee reaches and oscillates near North East cornerof the grid while escaping from chain, Leader of chain chasesit to the corner and other chain members align themselvesto the Leader meeting boundary condition as well as chainconstraints forming a chain of six. Live videos of some ofthe game play experiments can be found in reference section[2].

4. EXPERIMENTAL RESULTSWhile results of robot implementation are promising, we

further analyze the game with increasing number of agentsand varying different parameters with the help of a simula-tor. We have built a front-end simulator to design and exper-iment with various Chain Catch game strategies. The sim-ulation in simulator takes place as a series of Chain-Catchrounds and cycles. Input is taken from the user for numberof agents, initial x, y coordinates and CatchMode of eachagent. Once the role of each agent is decided, game startsand at each cycle the corresponding move function of eachagent is called and thus updating its position on the game

field. Each and every change in the environment is noted bythe coordinator at each cycle and takes appropriate actionsbased on the game rules embedded into it such as detectingCatch, boundary cross etc. The simulation view panel alsonotes these changes and renders the field view periodically.Figure 6 is an implementation of chains strategy using cost

Figure 6: Simulation of chain using Tag approachand Escapees moving with strategy of K circle. (1)starting position, (2) Chain of two (3) elliptical likeformation of escapees around chain (4) synchronizedchain completion

function shown in equation 12. It demonstrates a simulationof Chain game with 50 agents, where the chain moves withTagging method whereas the Escapees move with K circle

Page 7: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

strategy. In these simulation we keep the value to K to beone fourth of arena′s vertical length. And value of NeighbourSafe Distance (NSD), is varied from two times Agent Diam-eter to four times Agent Diameter. For the chain′ move-ment, value of Rsafe is kept as 3*radius of the agent in oursimulations. And the Game Over condition is kept as 3000steps (an agent takes 300 steps to walk through periphery ofarena). Figure 7 is an implementation of cost function shown

Figure 7: Simulation of chain using Variance ap-proach and Escapees moving with strategy of Slid-ing Slope (1) Game start, (2) K circle (3) Chainsurrounding Escapee (4) Complete chain formation

in equation 17. Figure 7 is an example of the same, wherechain members move with variance explained in equation 15and are able to surround an Escapee near corner (Figure 7Part (3)) and Escapees move with the strategy of SlidingSlope.

We have implemented a set of strategies for each type ofagents- Escapee, Catcher and Chain in the game that havebeen discussed in previous sections. We also implementedrandom movement of Catcher, Escapee and Chain to showhow other strategies work better than cases where an agentchooses to move randomly. However we need well definedparameters to understand each strategy‘s performance andto compare them. We use the parameter of Total time (Tc)to study the performance, which is the time taken till thelast Escapee gets caught by the chain. It also denotes num-ber of steps taken by the chain for complete chain formationor before Game Over. From chains perspective, chain strat-egy that takes minimum Tc to finish the game is consideredto have best performance and from Escapee′s perspectiveEscapees strategy that takes longest time Tc to finish thegame is considered as best strategy. We performed over 100such empirical experiments, with varying number of agentsfrom 3 to 100, and different starting locations of agents ineach case. Figure 8 plots Tc values for those 100 experi-ments. On X axis number of agents participating in gameare plotted whereas Y axis denotes number of steps takento finish the the game (Tc) corresponding to n(number of

agents playing in a game). Plot plots Tc values for eachof Escapee strategy - Naive (orange), K circle (green), Kcircle with rotation (blue), Sliding slope (red) and randommovement (purple) when chain plays with Tagging method.

Figure 8: Escapees’ strategies performance againstchain Tag method.

Figure 9: Escapees’ strategies performance againstchain Variance method.

Sliding slope (red plot) strategy has the best performance asit takes highest number of steps to finish the game in almostall experiments. Whereas Maximize distance and randommovement strategy have relatively poor performance. Thegray line shows an average of total number of steps (Tc) inall 100 experiments when chain uses Tag method. Figure 9shows performance of each of Escapee strategies when im-plemented against chains Variance method. Here too overallcomparison leads to same order of performance of the Escapestrategies as in case of Tag method discussed before. Wehave discussed in strategies section that there are two casesof Chain Catch possible. Case 1, where only corner mem-bers of the chain participate in Catch. Case 2, where everymember of chain is allowed to Catch an Escapee. Chainsperformance differs in each case. Our each experiment had25 runs for each combination of Escapee and chains strat-egy, leading to overall 2500 runs. Transition table shownin Table 3 gives overall analysis of game results in terms of

Page 8: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

Table 3: Average number and standard deviation ofsteps (Tc)

average number of steps taken for the complete chain forma-tion. Cells in the table also gives standard deviation for eachcase. Left to right columns in the table represent Escapeesstrategies and top to bottom rows represent strategies forthe chain. The data >3000 implies that the strategy is in-significant; as it takes more than maximum possible steps(3000) to finish the game.

Our game simulations, robot implementation and exper-iment results suggest that both of our chain strategies areable to achieve successful chain formation. Since we hadonly six robots - we showed how our strategies work andprovide the similar behavior to what the strategy expectswith robots. We implemented Escapees random movementand Naive approach as a benchmark to compare newly intro-duced strategies. All the comparison plots of Tc and transi-tion table suggests that each version of our K circle strategyperforms better than the benchmark. The order of perfor-mance isRandom Movement < Maximize distance (Naive) < K circlewith rotation < K circle < Sliding SlopeAnd Chain′s movement methods work in following order ofperformance-Random movement< Variance method (case-1)<Variancemethod (Case-2)< Tagging method (Case-1)< Tagging method(Case-2)From Escapee′s perspective, its objective is to delay a Catchas long as possible and delay overall chain completion. Per-formance of our Escapee strategies against a random mov-ing Catcher (third row of Table 3) proves them meeting thisobjective. Escapees random movement is last in order ofpreference because here they move without an incentive ofevading themselves from a Catch. Maximize distance ornaive approach is a strategy inspired from Korfs method [6],moves Escapees with clear incentive to move farthest fromCatcher, therefore, it makes Escapees perform better thanrandomly moving Escapees. But it does not include anycriteria of cooperation from other fellow Escapees. There-fore, it leads many Escapees to gather at one place (usuallynear corners) and hence enabling chain to Catch one Es-capee after another within very few steps. This problemis addressed in cost function defined for K circle, K circlewith rotation and Sliding slope methods. Here Escapeesspread among themselves while maintaining safe distancefrom Catcher and hence their performances are better than

Maximize distance approach. However, when Escapees tryto rotate around Catcher by moving in direction of RotationPoint, they sometimes end up moving towards walls. Thiscauses more early Catches in game compared to original Kcircle strategy. This is, why K circle strategy performs bet-ter than one with rotation. Introduction of virtual slopefurther decreases probability of an Escapee getting stucknear the corner and hence gives best results among all asseen in transition table. Escapees performance also dependsupon strategy chosen by the opponent ie. chain as seen intransition table.

Chain can move as per Tagging approach discussed ear-lier. This approach causes a synchronized movement of allchain members. As here only one member of chain acts asLeader and moves in direction of Escapee, rest simply alignto it. Therefore, it performs the best as suggested in Table 1.Variance method makes all the chain members move in direc-tion of Escapee. Its game simulation seems more like humangame where, in a long chain, different members of chain tryto move into different directions and hence cause strain inthe chain formation. And since we reject a Catch occurredduring chain break condition, overall time increases to getcomplete chain formation. Chains random movement strat-egy works only when Escapees also move randomly. Hencehaving overall worst performance. In case-2 (Catch by anychain member) of chain movement, chain attains an addi-tional functionality of being able to Catch by members inbetween the chain. Numbers shown in transition table sug-gest that this functionality definitely improves performanceof chain in each possible case. That is, average number ofsteps to finish the game (Tc) in case-2 (Catch by any chainmember) is less compared to case-1 (Catch by ends of chain)with both chain strategies against all five Escapee strategies.Though an individual agents performance in Chain-Catchgame depends upon many factors like starting positions ofeach agent, relative distance from initial Catcher, numberof agents and opponents strategy but the overall analysissuggests that choice of strategy affects overall performancemost significantly driven by their comparative order givenabove.

5. CONCLUSIONSWe built a Multi-robot system where robotic agents are

capable to play Catch-Catch and Chain Catch. We imple-mented the system both as simulation framework and inphysical environment with real robots. Movement of robotsin a Catch-Catch game or in formation of a chain requires co-ordination amongst multiple robots, which makes our frame-work useful as a “search and rescue” robot system. An ex-ample of Chain Catch is where, to trap a terrorist the robotsmight have to form a chain and move in a coordinated fash-ion or even surround it with a circular formation as done byour chain and Escapees.

Our results show that Sliding slope strategy is the beststrategy for Escapees whereas Tagging method is the bestmethod for chains movement in Chain Catch. As a part offuture work, the simulator can be made more generic in formof a simulator package library that can be used by any MASresearcher to develop his own pursuit domain strategies anduse it as test-bed to evaluate them. And for robot imple-mentation an external camera can be added to the setupto achieve localization in robots by detecting other agents,walls and obstacles by themselves.

Page 9: Wheeled Robots playing Chain Catch: Strategies and Evaluation · Garima Agrawal International Institute of Information Technology Hyderabad, India garima.agrawal@research.iiit.ac.in

REFERENCES[1] Nex robotics, firebird-v robot research platform.

http://www.nex-robotics.com/products/fire-bird-v-robots/fire-bird-v-p89v51rd2-robotic-research-platform.html.

[2] Simulation and robot implementation of various gamestrategies. https://goo.gl/8nIyBG, 2015.

[3] J. H. Kim, H. S. Shim, H. S. Kim, M. J. Jung, I. H.Choi, and J. O. Kim. A cooperative multi-agentsystem and its real time application to robot soccer.In Proceedings of IEEE International Conference onRobotics and Automation.

[4] K. Klein and S. Suri. Multiagent pursuit evasion, orplaying kabaddi. WAFR, 2010.

[5] R. E. Korf. A game theoretic approach to the pursuitproblem. In Working Papers of the 11th InternationalWorkshop on Distributed Artificial Intelligence, pages195–213.

[6] R. E. Korf. A simple solution to pursuit games. InWorking Papers of the 11th International Workshopon Distributed Artificial Intelligence, pages 183–194,1992.

[7] J. Martinovic, V. Snasel, E. Ochodkova, L. Zota,J. Wu, and A. Abraham. Robot soccer - strategydescription and game analysis. Modelling andSimulation, 24th European Conference ECMS, 2010.

[8] M. Maxim, W. M. Spears, and D. F. Spears. Roboticchain formations. In Proceedings of the IFACWorkshop on Networked Robotics, pages 19–24.

[9] R. Mead, J. B. Weinberg, , and J. R. Croxell. Ademonstration of a robot formation control algorithmand platform. 22nd National Conference on ArtificialIntelligence, Vancouver, BC, 2007.

[10] K. Nikhil and V. Isler. Lion and man game in thepresence of a circular obstacle. IEEE/RSJInternational Conference on Intelligent Robots andSystems, IROS, 2009.

[11] J. Sgall. Solution of david gale’s lion and manproblem. Theoretical Computer Science, 259:663–670.

[12] P. Stone and M. Veloso. Multiagent systems: A surveyfrom the machine learning perspective. IEEETransactions on Knowledge and Data Engineering,1998.

[13] Wikipedia. Pid controller — wikipedia, the freeencyclopedia. [Online; accessed 19-September-2015].

[14] F. L. Wurtz. Ai in prey predator domain. Master’sthesis, Technical University of Denmark, 2008.