Almost all biological beings are aware of their shape and size. Many researchers have strived to mimic these complex physical and cognitive living entities in the form of a Single Robot Systems (SRS). An SRS is aesthetically and physically closer to these beings but is indeed a highly sophisticated system. Simple small robots with insufficient capabilities may not be able to perform complex tasks that an SRS could perform, but a collection of a large number of simpler robots having limited capabilities which cooperate to fulfil a goal might be able to perform as effective and efficient as an SRS. The goal could be some form of self-organization such as to maintain a particular shape formation . If we consider each robot in such a swarm to be the basic unit of a body, then the swarm metaphorize the biological being. A swarm of robots collectively executing a task can be more robust, adaptive and efficient as compared to the SRS. Swarms play a significant role in applications such as exploration of inaccessible areas and mapping (Schmickl et al., 2006; Correll and Martinoli, 2006), hazardous tasks executions (Kumar and Sahin, 2003), pattern formation (Rubenstein et al., 2014), collective transportation (Groß et al., 2006), etc.
Algorithms for shape formation could be classified into those that use leader/neighbour-following methods, potential field based ones and those that are nature-inspired. In the first type(Chen and Tian, 2009; Choi and Kim, 2007; Kanjanawanishkul and Zell, 2008), the primary goal is to follow the leader which in turn has all the information required to make the moves. The robots need to arrive at a consensus and the notion of a leader gives the overall system a centralized flavour. However, these works constitute rigorous theoretical proofs which makes them relatively complex (Meng et al., 2013). In the potential field based methods (Krishnanand and Ghose, 2005; Masoud, 2007; Hsieh et al., 2008), the robots follow potential field gradients which constitute the resultant of virtual attractive and repulsive forces. Though successfully implemented in several scenarios, the robots may get stuck at local optimal points (Meng et al., 2013). Nature-inspired shape formation algorithms are based on the manner in which swarms function in an inherently distributed and decentralized manner. A swarm can be made to achieve a goal using either a centralized or a decentralized approach. The former may seem simple and faster but is not always an appropriate solution since the swarm is dependent on a single controlling entity. If this entity fails, the entire system can collapse. Further, centralized control is difficult and expensive to scale. A decentralized approach seems much more efficient and robust. Nature solves a gamut of problems using such decentralized and distributed approaches. Researchers have thus proposed several bio-inspired algorithms.
Cheng et al. (Cheng et al., 2005) describe a pheromone and flocking inspired gas expansion model for coordinating a swarm of identically programmed robots to spatially self-aggregate into arbitrary shapes using only local interactions. Rubinstein et al. (Rubenstein et al., 2014) have proposed a self-assembly algorithm to build shapes using a swarm of Kilobots robots that have limited capabilities. Their algorithm does not support regeneration and thus cannot evolve to form the same shape when some portion of it is cut off. The improvised version of this work is described in (Rubenstein and Shen, 2009) wherein the authors augment a self-repairing feature. The repair of the mutilated shape, however, requires the human being to intervene and provide the number of remaining robots in the swarm, thus making the system semi-autonomous. George et al. (George et al., 2003) describe a cell-based programming model capable of creating symmetrical shapes such as cubes, spheres, etc. using numerous cells. If the shape were to be cut or damaged, the cells within detect the same and regenerate or self-heal the destroyed portion. Apart from these, a few bio-inspired algorithms based on hormones (Shen et al., 2004; Rubenstein et al., 2009; Rubenstein and Shen, 2010) and cellular mechanisms (Mamei et al., 2004; Taylor et al., 2007) have also been reported. Gene regulatory networks have also been employed for shape formation in changing environments (Meng et al., 2013; Jin et al., 2012; Taylor et al., 2007). Though they augment their work with real-robot experiments, the differential equations used to implement the kinematics involved can make the system complex.
An algorithm for a set of robots to generate and regenerate shapes needs to be simple, distributed and decentralized, autonomous and be capable of handling variable-sized complex shapes. Nature-inspired algorithms provide for comparatively simple mechanisms with lower computational overheads (Yang and He, 2016). They are inherently distributed and decentralized and hence have an edge over other conventional methods for shape formation and regeneration.
Epigenetic Tracking (ET), first introduced by Fontana (Fontana, 2010), is one such algorithm which models the growth and regenerative qualities exhibited by a colony of cells found in a living body. ET is defined as the method to generate arbitrary 2D and 3D shapes by using evolutionary techniques. It explains the process by which a seed grows into a whole living being. In nature, we can find certain peculiar species which have a peculiar tendency to grow their body parts. For example, a lizard regrows its tail after it sheds it off, while a starfish regenerates its leg if it is cut off. Human babies when inside the mother’s womb, are capable of regenerating their limbs. All this regeneration is done by the body cells themselves without the requirement of any central system. Each cell contains a gene which decides the shape of a being. A cell divides and replicates itself as per the gene within the cell. A gene is similar to an instruction manual which aids cells to reproduce and form arbitrary shapes.
In this paper, a distributed novel Epigenetic Tracking based shape formation and regeneration algorithm has been proposed for a swarm of robots. Each robot is modelled in the form of a cell containing a gene. The algorithm is tested on Kilobots (Rubenstein et al., 2014) which are small robots with limited computation and wireless communication capabilities. Experimental results performed using a simulator have been presented. To the best of our knowledge, this is the first occurrence of a work where ET has been used for shape formation and regeneration in a swarm of robots.
Subsequent sections of this paper describe the shape formation and regeneration problem, the algorithm and associated terminologies and the results and conclusions.
2. Shape Formation and Regeneration
In this section, we have discussed the problem of shape formation and regeneration by a swarm of robots using a decentralized algorithm. The same is followed by a detailed description of the various terms and methods used in the algorithm.
2.1. Problem Definition
This paper focuses on the problem of shape formation and shape regeneration exhibited by a swarm of robots without a central controller. All the robots are aware of the target shape, and they work collectively to form a given shape and is capable of detecting any damage done to the shape. The damage could be in the form of removal or failure of robots. After detecting the damage, the remaining robots work collectively to form a smaller scaled version of the specified shape. The primary objective is thus to use only local interactions and computations onboard the robots to once again reorganize, assemble and regenerate the original shape with the remaining robots in the swarm.
We propose the use of an Epigenetic Tracking based algorithm capable of running on small, low-cost robotic platforms such as Kilobots (Rubenstein et al., 2014). Kilobot is one such robotic platform which has limited computational capabilities and is capable of achieving short-range omnidirectional communication with their neighbours via infrared rays. They are devoid of any other sensor. The algorithm is state-based, meaning that a robot is always in a unique state. A robot thus performs an action(s) based on its current state and the information obtained from the neighbouring robots.
Epigenetic Tracking (ET) models the biological development process found in living cells. Coupled with evolutionary techniques, the model is capable of generating complex 2D or 3D shapes from artificial cells. In this model, an entire shape emerges from a single cell through a sequence of two actions, mitosis and apoptosis. Mitosis is the process of cell division where a cell produces a clone of itself. Apoptosis is programmed cell death, which keeps control of cell population. The two actions are driven and directed by a gene. A gene is a long strand of encoded information used by a cell to decide whether it has to perform mitosis or apoptosis. After a series of cell actions, the desired target shape emerges from a single cell. A gene is similar to an instruction manual which guides the process for the shape formation.
Inspired by this simple distributed and robust shape formation techniques modelled by ET, we propose a biologically inspired algorithm for shape formation and regeneration exhibited by a swarm of robots. Each robot has a unique ID and is modelled as a cell containing a gene which has encoded information about the target shape. The algorithm takes the input in the form of a binary image with given rows and columns while the output is a swarm of robots positioned in the manner similar to the image. A sample input in the form of a binary image to form a ‘T’ shape is shown in Fig. 1. Since the pixel values are either 0 or 1, the image will be referred to as a bitmap array where 1 denotes the presence of a robot which is part of the shape while a 0 represents a void space. The number of 1s indicate the consensus of robots required to form the shape, and thus each robot initially knows about the current swarm population.
Given an input binary image, the gene required for the shape formation is computed and transferred to all the robots constituting the swarm. The robots (or cells) then use this gene to form a shape in a distributed and decentralized manner. In this work, we have taken the coordinates of the central pixel of the input bitmap (red coloured 1 in Fig. 1) as the reference or origin. The position of the remaining pixels is described and used with reference to this origin. It may be noted that coordinates of any pixel could be chosen as the origin.
2.2.1. Skew Coordinate System
Though the use of the Cartesian arrangement shown in Fig. 1 is straightforward, it suffers from the fact that all the neighbours of a 1 are not equidistant. The 1s at the diagonal points are at a farther distance than the 1
s at the edges. This can lead to instability especially while real robots are used to form shape. Before computing the gene, the input image is thus, skewed in a manner that every robot is equidistant from the other. We followed a simple process to generate the skewed image. Consider the input shape in Fig.2. The top row of the image is first shifted left by half the distance between the two pixels (or two adjacent 1s or 0s in the row). We then shift this row leftwards along with the one just below it together by another half distance. In the next step, the top row and the two rows immediately below it are shifted leftwards together, by the same distance. This shifting process is repeated till eventually, the whole image gets skewed to form a triangular lattice structure.
The computation steps involved in the making of the gene are described in the following subsections.
2.2.2. Gene Computation
In the current context, the metaphor gene is a collection of 1-Dimensional (
) vectors each with three fields of information – aTag (Tg) which denotes a pair of and location coordinates, a Flag (F) and the number of Nearest Neighbors (NN) of a robot at the corresponding (X,Y) location. To compute a gene from an input binary image, the , the and the NN fields of information for each pixel value in the input image is calculated and concatenated to create a table of 1- vectors. This table forms the gene for a given shape. The significance of each of the constituents of these vectors is presented below:
Tag (): Tag is the (X,Y) pixel coordinate of the input bitmap. For e.g., for the origin is (0,0). It aids the robot in determining its position within the swarm.
Flag (): If a bit at a coordinate (X,Y) is equal to 1, the respective flag is set to 1 else it is set to 0. The flag represents whether a robot at a position (X,Y) is inside the shape (F = 1) or outside the shape (F = 0).
Number of Nearest neighbors (NN): This is a value ranging from 0 to 6 which indicates the number of nearest neighbors a robot at a position (X,Y) is allowed to have. The NN value for a bit at location (i,j) in the input bitmap image is equal to the number of 1s at the location (i-1,j), (i-1,j+1), (i,j+1), (i+1,j), (i+1,j-1) and (i,j-1).
Fig. (a)a and (b)b shows an input bitmap image and the computed gene, respectively. As an example, the (X,Y), and the NN values for the bit at the centre of the bitmap image shown in Fig. (a)a are (0,0), 1 and 6, respectively.
A robot at a location (X,Y) is aware of the count of closest neighbours it is supposed to have by looking into the gene with the tag (X,Y). These neighbours should be at an equal distance say a constant so that the robot can differentiate them from the rest of the swarm. Since all the robots maintain a distance of from each other, they form a triangular lattice structure as shown in Fig. 2. After forming the shape, the robot keeps monitoring this count. If it decreases, the robot discerns that formed shape is harmed. Thus, damage detection forms the primary aim of triangular lattice arrangement. The sole purpose of the SCS was to have a coordinate system which allows unique referencing of robots in the triangular lattice arrangement.
3. Self-organization and Self-regeneration
In this section, we propose an ET based distributed and decentralized algorithm for shape formation and regeneration in a swarm of robots.
3.1. Epigenetic Tracking based Algorithm
The overall process of shape formation and regeneration exhibited by a swarm of robots using the proposed algorithm, follows a Discrete Finite Automaton (DFA) with eight states namely, , , , , , , and . Table 1 provides an abstract description of each of these states. Since the process of regeneration is after shape formation and for the sake of clarity, the algorithms for both the processes, i.e., formation and regeneration has been explained separately using the states described in Table 1.
We also introduce a gradient value termed the Timestep (TS) in the proposed algorithm. Every robot which has been placed in the shape has a gradient value TS to assist robots in reaching Stable state according to their order of arrival. Robots in the Search states who are trying to determine their new locations during the shape formation process always try to locate themselves near a robot in the Active state with minimum TS value compared to their other neighbours in Active state. Consider two robots and in the Active state with TS values 4 and 5 respectively. This indicates that the NN criteria for needs to be fulfilled first as was placed into the shape/cluster before . The TS thus prevents the formation of holes or gaps in the shape which would then cause the shape to become irregular at the end.
|Queued||All robots are initially in a swarm repository in a connected form. Using broadcasts, these robots find the one having the lowest ID. This robot changes its state to Search and moves out of the repository towards the seed robots to localize itself. The robot with the next lowermost ID moves out after a predetermined amount of time.|
|Search||Robots in this state search for a location within the shape by moving along the periphery of the currently formed shape. After finding an appropriate location, the robot places itself and transits to the Inactive state.|
|Inactive||In this state, the robot continuously monitors all of its nearest neighbours which are in the Active state. As soon as a neighbour in an Active state transits to the Stable state, the robot in the Inactive state transits to the Active state. This transition avoids the chances of gaps/holes appearing within the shape.|
|Active||A robot remains in this state till the NN value stored within it matches the actual number of neighbours. When these two values are equal, the robot transits to the Stable state. If a robot in the Active state notices one of its nearest neighbours to be in the same state but having a TS value less than its own, it transits to the Quasi state.|
|Quasi||A robot in the Quasi state transits to the Active state after a predetermined time.|
|Stable||Robots in this state form part of the final shape. These robots continuously count their neighbours to ensure that the shape is maintained. If they detect the absence of any, they transit to the Danger state.|
|Danger||Robots in this state participate in the process of leader election. The robot with the minimum ID amongst these robots is elected the leader which in turn transits to the Leader state.|
The robot in this state estimates the number of remaining connected robots in the fragment of the shape, generates a scaled-down version of the given shape (gene) and communicates the same with the remaining connected robots. Finally, it selects two of its neighbours to form the initial three seed robots to start the shape formation once again using the remaining robots. The Leader then transits to theActive state. Those from the set of remaining robots whose coordinates match that within the new version of the shape transit to the Inactive state while the rest move to the Queued state.
3.1.1. Shape Formation
The proposed algorithm for shape formation needs a minimum of three seed robots which need to be placed at the vertex of an equilateral triangle. These seed robots act as an initial frame of reference for the trilateration process executed by other robots to know their location information. The seed robots are respectively initialized with an (X,Y) coordinate, a state, an NN value and a TS. The (X,Y) coordinate for one of the seed robots is chosen randomly from the gene. The coordinates of the other two are taken from the appropriate neighbours from the gene. The location of the seed robots decides the position and orientation from where the shape formation will commence. The NN values for the corresponding coordinates are also taken from the gene and stored within, by each robot. One of these robots is set to the Active state with TS equal to 1, while the other two are initialized to the Inactive state with a TS of 2. After the seed robots are initialized, the rest of the robots in the Queued state concurrently start to execute the Algorithm 1 to eventually form the shape represented by the gene.
Robots in the Queued state, one after another, transits to the Search state and start searching for a location to occupy around the already placed robots (initially the seed robots). A robot decides on which location to place itself by using the process explained in Sec. 3.1.3. After the robot places itself, it moves to the Inactive state if its neighbour count is less the NN value of the corresponding tag (X,Y) acquired by the same robot and one of its neighbours is in the Active state. The same robot transits to the Stable state if its neighbour count becomes equal to the NN value. This series of transitions from Search state to the Stable state is followed by each of the robots in Queued state until they all are in the Stable state and the shape formation is accomplished.
3.1.2. Shape Regeneration
In practical scenarios, a shape formed by a swarm of robots could get damaged due to various reasons such as malfunctioning of a robot(s), removal of a robot(s), discharge of the batteries, etc. Hence, it is necessary that the same algorithm should facilitate the robots first to detect the damage to the shape and secondly allow them to reorganize to form a scaled-down version of the same shape with the remaining number of robots. If a robot(s) in the Stable state finds that its neighbour count has become less than the value NN stored within, it transits to the Danger state, constituting the first step in the shape regeneration process. The second step comprises execution of the following sequential phases:
Leader Election: As soon as the damage is detected, the robots in Danger state compete with those in the same state and elect their leader. We have used the classical method described in (Lynch, 1996) for this leader election, wherein each robot in the Danger state broadcasts its ID. Robots in the Danger state, which receives an ID lower than their own, back off from the election process and retransmits the lower ID to the others. Eventually, the one which does not receive any ID lower than its own for a certain defined time, transits to the Leader state.
Census: The robot in the Leader state now performs a count of the functional robots in the remnant of the shape it belongs to, by navigating around it and acquiring the of all the robots stationed on the periphery of this shape. When the Leader reaches its original position again, it starts to map these coordinates onto the input bitmap image. By doing so, the Leader obtains the closed area bounded by the remnant shape. By counting the number of 1s on the boundary of this closed (remnant) shape, the Leader ascertains the number of remaining robots and thereby concludes the census.
Generation of Scaled Image: Using the count (say ) of the remaining robots in the remnant and the number of robots (say ) in the original shape, the Leader estimates the number of robots, say , that have been segregated (=-) and recreate a scaled-down version of the original shape. The leader recreates the scaled image by deleting the 1s present on the boundary of the current bitmap. The deletion is done sequentially and those 1s which makes the triangular lattice arrangement unstable are skipped \faFileText\faFileTextPlease refer to the supplementary file for a detailed graphical visualization..
Sharing Scaled Shape and Seeding: The Leader shares the new scaled down version of the image with all the robots within the remnant, transforms itself to a seed robot and chooses two of its neighbours as the other two seeds. The remaining robots become aware of the change in shape and hence transit to the Queued state, and the process of shape generation commences again as in Algorithm 1.
3.1.3. Localization within the Shape
During the process of shape formation, the moving robots determine their appropriate location within the shape being formed using the trilateration to determine their position globally. The trilateration method used in this algorithm is different from the conventional one as since we use our own SCS.
The robot herein does not use the formulae in trilateration to determine its (X,Y) coordinates. Instead, it localizes itself by using the coordinates of its neighbours. For instance in Fig. 4, , and are the three robots already placed in the shape, each at a distance from the other. Using SCS, the incoming robot , detects , and and discovers that it can possibly occupy positions (1,1) or (0,-1). However, since occupying (0,-1) is also in the communication range of , the latter founds that the position (0,-1) is already taken. Thus, assumes that it can localize itself at (1,1). can localize itself at (1,1) only if the flag stored against (1,1) within the gene is 1 and one of its neighbours is in the Active state. Since this is true in the case shown in Fig. 4, stores the associated NN value from the gene into its memory and commences to emit its coordinates.
To test the efficacy of the proposed algorithm, we used the Kilombo simulator. Kilombo is a C-based simulator developed to test swarm algorithms with Kilobots. The main reason behind the use of this simulator is that the code developed over Kilombo can be directly executed on an actual Kilobot. Kilobots are small 3.3 cm tall low-cost mobile robots with minimal computational capability. Instead of traditional wheels, they use vibration motors to effect sliding movements (Rubenstein et al., 2014). The robots can sense and communicate their distance from other robots using infrared light reflected off their surfaces. They can detect robots up to a distance of 7 cm. In addition, the robots can also broadcast messages to others.
Each Kilobot was initially provided with the input bitmap image of the desired shape to be formed and maintained. After feeding the input image, the Kilobots convert the bitmap into a gene. The remaining robots were organized in the form of a queue, and the robots were released one by one from the beginning of the queue. It may be noted that the remaining robots could be positioned in any disordered manner provided that they are minimally connected. The initial testing of the algorithm was performed on alphabetical shapes. Fig. 6 shows the results generated when the simulated Kilobots were fed the bitmap of the alphabet ‘T’.
As can be seen from Fig. 6, the Kilobots cooperate and generate the shape of the alphabet ‘T’ in a distributed manner. The line connecting any two Kilobots indicates that they are in the communication range of the other. The five differently coloured robots shown in Fig. 6(a) indicate their respective states. Further, in the simulator, a moving Kilobot leaves behind a trail to show the path followed by it. A queue of Orange coloured robots in the Queued state can also be seen in Fig. 6(a), 6(b) and 6(c). The Shape formation of the algorithm starts with the transition of the robots placed at the end of the queues from the Queued state to the Search state. Robots in the Search state begin moving towards the already placed robots and place themselves near any robot in the Active state and thus transit from the Search to the Inactive state. The Kilobots start moving from the end of the queue and place themselves due to which the shape continues to form as seen in later stages in Fig. 6
. The proposed algorithm endeavours to be realistic by assuming that there can be losses in transmission. We have taken an error probability of 0.2 (loss in communication) which leads to minor deformities in the final shape formed. The results of a simulation run wherein, due to errors in message transmission, two of the robots (coloured violet and red) were not in a position to correctly sense the state transitions of their neighbours is shown in Fig.6. This resulted in their inability to transit to the Stable state even though the shape was formed. It may be noted that the resulting shape is not similar to the one observed in the bitmap. The bitmap is in a Cartesian coordinate system which gets skewed after adjusting in an SCS, as also shown in Fig. 2. The robots then follow this skewed bitmap and arrange themselves in a triangular lattice form which finally results in a skewed target shape.
The damage considered in this system consists of the cutting of the shape initially formed by the robots, thereby separating them into two parts. Each of these parts is separately capable of regenerating the original shape depending on the numbers of remaining robots in the respective parts. The regeneration of one such part is shown in Fig. 7. The shape was damaged by cutting it vertically (left branch in Fig. 7) and then cutting it horizontally (right branch). The Kilobots whose neighbours went missing, detect this damage and trigger the regeneration algorithm which in turn estimates the number of remaining Kilobots in the remnant to eventually reorganize to the new scaled down version of the original shape. During regeneration, the new shape can have an entirely new orientation as it depends on the coordinates of the initial three seed Kilobots’ which mark the start of the shape regeneration algorithm. Other shapes that were considered include the dumbbell and starfish whose matrix representation and final shapes are shown in Fig. 9 and 9. A video on the various shapes formed and regenerated by the algorithm can be found at the link111https://goo.gl/Qv7LMW.
The proposed algorithm is able to form and regenerate shapes with continuous surfaces. While filled shapes were formed without issues, those having unfilled and enclosed areas, such as the letter ‘O’, seemed to be deformed. Prima facie observations revealed that while the robots move to align the inside of an enclosed unfilled shape, the open area gets enclosed and the robots get trapped within. Since we have introduced noise into the system, this entrapment of robot(s) could lead them to non-determinism. In addition when the robots are about to connect the enclosed portion of the shape, it may happen that some of them do not find enough space to enter the enclosure so as to complete the shape. This lack of space could make the stable robots to move away and avoid collision. This in turn can lead to an irregularity in the triangular lattice structure. If such stable robots move away beyond the communication range of their stable neighbours, the latter could detect this as a damage to the shape and initiate an undesired regeneration process. The problem could be solved if an additional state is introduced to categorize the robots in the periphery of the enclosed unfilled area so that further robots entering this area will detect this state and not venture to station themselves. This would mean a corresponding addition of a flag in the gene to indicate such enclosed and unfilled areas.
Given a set of robots, the proposed algorithm is not only able to generate the given shape but also to ensure that any divisive damage caused to the shape can make each remnant to regenerate a scaled-down version of the same shape without external intervention. Damage could occur in the form of a robot or a set of robots malfunctioning or lose charge. All activities in the algorithm are performed in a distributed and decentralized manner. The triangular lattice structure based on which the shape is formed helps identify the extent of loss of robots and also trigger the regeneration mechanism. The algorithm is novel because it handles both the generation and regeneration of a given shape without any intervention, much like biological cell division. The algorithm can be used in robotic swarms which need to divide and regroup in some given patterns. By providing, more than one image map, it may be possible for a leader robot to optimally decide the best shape the remaining set of robots should form. Such an algorithm could be useful in applications targeting exploration of inaccessible or risk prone areas. We are currently in the process of enhancing the algorithm so that the two scaled-down shapes can merge again to form the original shape. This feature would be useful when a swarm of robots travelling in a specific formation (shape) is split into two, due to an obstacle in their path, thus forming two scaled down versions. We are also working towards enhancing the algorithm to form and regenerate shapes with high complexity such as the ones with holes.
- Chen and Tian (2009) Yang-Yang Chen and Yu-Ping Tian. 2009. A backstepping design for directed formation control of three-coleader agents in the plane. International Journal of Robust and Nonlinear Control 19, 7 (2009), 729–745.
- Cheng et al. (2005) Jimming Cheng, Winston Cheng, and Radhika Nagpal. 2005. Robust and self-repairing formation control for swarms of mobile agents. In AAAI, Vol. 5.
- Choi and Kim (2007) Jongug Choi and Yudan Kim. 2007. Fuel efficient three dimensional controller for leader-follower UAV formation flight. In Control, Automation and Systems, 2007. ICCAS’07. International Conference on. IEEE, 806–811.
- Correll and Martinoli (2006) Nikolaus Correll and Alcherio Martinoli. 2006. Collective inspection of regular structures using a swarm of miniature robots. In Experimental Robotics IX. Springer, 375–386.
- Fontana (2010) Alessandro Fontana. 2010. Epigenetic Tracking: Implementation Details. arXiv preprint arXiv:1001.2810 (2010).
- George et al. (2003) Selvin George, David Evans, and Steven Marchette. 2003. A biological programming model for self-healing. In Proceedings of the 2003 ACM workshop on Survivable and self-regenerative systems. ACM, 72–81.
- Groß et al. (2006) Roderich Groß, Francesco Mondada, and Marco Dorigo. 2006. Transport of an object by six pre-attached robots interacting via physical links. In Robotics and Automation, 2006. ICRA 2006. Proceedings of the 2006 IEEE International Conference on. IEEE, 1317–1323.
- Hsieh et al. (2008) M Ani Hsieh, Vijay Kumar, and Luiz Chaimowicz. 2008. Decentralized controllers for shape generation with robotic swarms. Robotica 26, 5 (2008), 691–701.
- Jin et al. (2012) Yaochu Jin, Hongliang Guo, and Yan Meng. 2012. A hierarchical gene regulatory network for adaptive multirobot pattern formation. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 42, 3 (2012), 805–816.
- Kanjanawanishkul and Zell (2008) Kiattisin Kanjanawanishkul and Andreas Zell. 2008. A model-predictive approach to formation control of omnidirectional mobile robots. In Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International Conference on. IEEE, 2771–2776.
- Krishnanand and Ghose (2005) KN Krishnanand and Debasish Ghose. 2005. Formations of minimalist mobile robots using local-templates and spatially distributed interactions. Robotics and Autonomous Systems 53, 3-4 (2005), 194–213.
- Kumar and Sahin (2003) Vignesh Kumar and Ferat Sahin. 2003. Cognitive maps in swarm robots for the mine detection application. In Systems, Man and Cybernetics, 2003. IEEE International Conference on, Vol. 4. IEEE, 3364–3369.
- Lynch (1996) Nancy A Lynch. 1996. Distributed algorithms. Morgan Kaufmann.
et al. (2004)
Marco Mamei, Matteo
Vasirani, and Franco Zambonelli.
Experiments of morphogenesis in swarms of simple
Applied Artificial Intelligence18, 9-10 (2004), 903–919.
- Masoud (2007) Ahmad A Masoud. 2007. Decentralized self-organizing potential field-based control for individually motivated mobile agents in a cluttered environment: A vector-harmonic potential field approach. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans 37, 3 (2007), 372–390.
- Meng et al. (2013) Yan Meng, Hongliang Guo, and Yaochu Jin. 2013. A morphogenetic approach to flexible and robust shape formation for swarm robotic systems. Robotics and Autonomous Systems 61, 1 (2013), 25–38.
- Rubenstein et al. (2014) Michael Rubenstein, Alejandro Cornejo, and Radhika Nagpal. 2014. Programmable self-assembly in a thousand-robot swarm. Science 345, 6198 (2014), 795–799.
- Rubenstein et al. (2009) Michael Rubenstein, Ying Sai, Cheng-Ming Chuong, and Wei-Min Shen. 2009. Regenerative patterning in Swarm Robots: mutual benefits of research in robotics and stem cell biology. The International journal of developmental biology 53, 5-6 (2009), 869.
- Rubenstein and Shen (2009) Michael Rubenstein and Wei-Min Shen. 2009. Scalable self-assembly and self-repair in a collective of robots. In Intelligent Robots and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on. IEEE, 1484–1489.
- Rubenstein and Shen (2010) Michael Rubenstein and Wei-Min Shen. 2010. Automatic scalable size selection for the shape of a distributed robotic collective. In Intelligent Robots and Systems (IROS), 2010 IEEE/RSJ International Conference on. IEEE, 508–513.
- Schmickl et al. (2006) Thomas Schmickl, Christoph Möslinger, and Karl Crailsheim. 2006. Collective perception in a robot swarm. In International Workshop on Swarm Robotics. Springer, 144–157.
- Shen et al. (2004) Wei-Min Shen, Peter Will, Aram Galstyan, and Cheng-Ming Chuong. 2004. Hormone-inspired self-organization and distributed control of robotic swarms. Autonomous Robots 17, 1 (2004), 93–105.
- Taylor et al. (2007) Tim Taylor, Peter Ottery, and John Hallam. 2007. Pattern formation for multi-robot applications: Robust, self-repairing systems inspired by genetic regulatory networks and cellular self-organisation. Technical Report. Technical Report EDI-INFRR-0971, School of Informatics, University of Edinburgh.
- Yang and He (2016) Xin-She Yang and Xingshi He. 2016. Nature-inspired optimization algorithms in engineering: overview and applications. In Nature-Inspired Computation in Engineering. Springer, 1–20.