P Colonies for the Control of Single and Multiple Robots

P Colonies for the Control of Single and Multiple Robots

DOI: 10.4018/978-1-5225-2280-5.ch004
OnDemand PDF Download:
No Current Special Offers


The fourth chapter is dedicated to the topic of controlling single and multiple robots using P colonies. The open-source P colony simulator Lulu is used as a software basis that allowed for the development of a discrete robot controller. The chapter is organized around a set of experiments that are ordered by difficulty and are described using the P colony model and execution diagrams. These diagrams allow the reader to view when and what will be the response of the robot to a given input signal. Several screenshots are also presented to aid in understanding this process. All of the experiments can be fully replicated by using the input files provided within the chapter or the on-line guidelines that are available at http://membranecomputing.net/IGIBook.
Chapter Preview


Robots are machines capable of executing complex actions automatically and are composed of various types of modules (sub-systems). By analogy, as we detailed in Chapter 2, a P colony is also composed of several interacting agents and so modelling a robot using a P colony can be generally seen as creating a mapping between robot modules and P colony agents. Due to the fact that P colonies function using symbolic objects, there is a natural need for bi-directional conversion methods between symbolic values used by the P colony and numerical ones used by the sensors and effectors of the robot.

From the different types of robots that have been developed so far, the best candidates for implementing a P colony controller are robots whose input data and output commands can be easily discretized into symbolic values.

Swarm robotics was defined in (Şahin, 2005) as the study of how large numbers of relatively simple physically embodied agents can be designed such that a desired collective behavior emerges from the local interactions among agents and between the agents and the environment”. Several defining characteristics have also been pointed out (Şahin, 2005):

  • 1.


  • 2.

    Large number of robots;

  • 3.

    Few homogeneous groups of robots;

  • 4.

    Relatively incapable or inefficient robots;

  • 5.

    Robots with local sensing and communication.

P swarms have been proposed as symbolic modeling tools for robotic swarms by grouping multiple P colonies, each associated with an individual robot (Buiu & Gansari, 2014).

Various control algorithms that have been implemented using P colonies and P swarms are presented in this chapter. Each experiment is described using the source P colony that is written in the language accepted by Lulu (our P colony and P swarm simulator which was described in detail in Chapter 3) and can be viewed online at the dedicated webpage, alongside input files, P colony state diagrams such as the one presented in Figure 1 and instructions for replicating the experiments using open-source applications.

Figure 1.

P colony state diagram


P colony state diagrams are used throughout this chapter to describe the effects of executing a given program, in terms of environment and agent multiset content changes. Only the agents that had an executable program for that simulation step are included within the environment membrane. In the example presented in Figure 1, the environment multiset contains the elementary object e (that is never depleted according to the P colony definition from Chapter 2) and 30 f objects while the command agent contains one elementary object e and one l_m object, after the execution of the < e->e, e<->l_m > program.

The expected behavior of the robot or swarm is presented graphically using robot state diagrams such as the one in Figure 2. Although the Kilobots do not have any direct means of determining their global or relative orientation, the global orientation is still presented using the black triangle on top (in this case) of the robot for the purpose of visualizing the evolution of a given algorithm.

Figure 2.

Example robot state diagram:The current LED color is marked with the initial letter (R-red, G-green, B-blue) and the direction is indicated using a dashed arrow


The experiments presented in this chapter are ordered by complexity, starting from single robot experiments and continuing with experiments with multiple robots, again sorted by complexity.

Complete Chapter List

Search this Book: