Skip to main content

Swarms of self-assembling artefacts

Deliverables

Probably the most characteristic capacity of the swarm-bot system is that it can self-assemble; that is, to move from a situation characterised by the activity of a number n>1 of s-bots to a situation in which these n s-bots physically connect to each other to form a swarm-bot. Self-assembling can enhance the efficiency of a group of autonomous cooperating s-bots in several different contexts. Generally speaking, self-assembling is advantageous anytime it allows a group of agents to cope with environmental conditions which prevent them from carrying out their task individually. For example, s-bots, designed for all-terrain navigation, could make use of self-assembling to move in a particularly rough terrain by reducing the risk of toppling over, as well as to bridge the gap between the two sides of a trough larger than the body of a single robot, reducing the risk of falling in. In the context of object transport, a group of self-assembled s-bots might be capable of pushing/pulling an object which, due to its characteristics (e.g., mass, size, and shape), can not be transported by a single s-bot. To develop controllers capable of letting s-bots self-assemble we used a perceptron-type neural network whose weights were evolved using an evolutionary algorithm. These controllers were synthesised in simulation using up to 5 simulated s-bots and then ported to the real s-bots. In short, self-assembly works as follows. The start of the process is triggered by the presence of an s-bot, which turns on its red lights. The s-bots which are closer to the red s-bot perceive the red light and approach it until they are close enough to connect by grasping the red s-bot ring with their gripper. If the connection is successful, they turn their red lights on so as to attract other s-bots. If an s-bot encounters difficulties during the approach phase, it launches a recovery procedure, which consists of the s-bot moving backward and approaching the red s-bot again. Experiments have shown that this procedure can reliably control the s-bots so that they connect to each other or to a special luminous object, called s-toy, with red lights turned on. The procedure is scalable, as it works for increasing numbers of s-bots (experiments with up to 16 s-bots were run successfully), and robust, as it can control self-assembling s-bots moving on both flat and moderately rough terrain.
One of the main results of the SWARM-BOTS project is the design and physical implementation of 35 s-bots. The s-bots are mobile autonomous robots with the ability to connect to and to disconnect from each other. An artefact composed of a swarm of physically connected s-bots is referred to as a swarm-bot. The hardware design of a s-bot is particularly innovative, both as far as it concerns its actuators and its sensing devices. The s-bot is equipped with an innovative traction system which makes use of both tracks and wheels. The wheel and the track on a same side are driven by the same motor, building a differential drive system controlled by two motors. This combination of tracks and wheels is labelled Differential Treels Drive (Treels is a contraction of TRacks and whEELS). Such a combination has two advantages. First, it allows an efficient rotation on the spot due to the larger diameter and position of the wheels. Second, it gives to the traction system a shape close to the cylindrical one of the main body (turret), avoiding in this way the typical rectangular shape of simple tracks and thus improving the s-bot mobility and stability. The s-bot's traction system can rotate with respect to the main body- i.e., the robot's turret- by means of a motorised joint. The turret holds a gripper for establishing rigid connections between two s-bots or between a s-bot and an object. The gripper is mounted on a horizontal active axis, and it has a very large acceptance area allowing it to realize a secure grasp at a wide angle range. The s-bot gripper can grasp another s-bot on a T-shaped ring placed around the s-bot turret. If it is not completely closed, such a grasp lets the two joined robots free to move with respect to each other while navigating. If the grasp is firm, the gripper ensures a very rigid connection which can even sustain the lifting up of another s-bot. A s-bot is provided with many sensory systems, useful for the perception of the surrounding environment or for proprioception. Infrared proximity sensors are distributed around the rotating turret, and can be used for detection of obstacles and other s-bots. Four proximity sensors are placed under the chassis, and can be used for perceiving holes or the terrain's roughness. Additionally, a s-bot is provided with eight light sensors, two temperature/humidity sensors, a 3-axes accelerometer and incremental encoders on each degree of freedom. Each s-bot is also equipped with audio and video devices to detect and communicate with other s-bots, such as an omni-directional camera, coloured LEDs around the s-bot's turret, microphones and loudspeakers. Eight groups of three coloured LEDs each- red, green and blue- are mounted around the s-bot's turret, and they can be used to display colours. The colour emitted by a robot can be detected by other s-bots by using an omni-directional camera, which allows to grab panoramic views of the scene surrounding a s-bot. In addition to a large number of sensors for perceiving the environment, several sensors provide each s-bot with information about physical contacts, efforts, and reactions at the interconnection joints with other s-bots. These include torque sensors on all joints as well as a traction sensor to measure the pulling/pushing forces exerted on the s-bot's turret. The traction sensor is placed at the junction between the turret and the chassis. This sensor measures the direction (i.e., the angle with respect to the chassis orientation) and the intensity of the force of traction (henceforth called "traction") that the turret exerts on the chassis. The traction perceived by one robot can be caused either by the force applied by the robot itself while pulling/pushing an object grasped through the gripper element, or by the mismatch of its movement with respect to the movement of other robots connected to it, or by both the previous circumstances at the same time. The turret of a s-bot physically integrates, through a vector summation, the forces that are applied to it by another s-bot, as well as the force the s-bot itself applies to an object grasped. The traction sensor plays an important role in the context of coordinated movement of a group of physically connected s-bots (i.e., a swarm-bot). In particular, it can be employed to provide a s-bot with an indication of the average direction toward which the swarm-bot is trying to move. More precisely, the traction sensor measures the mismatch between the direction in which the s-bot's own chassis is trying to move and the direction in which the whole group is trying to move.
Swarm-bot3D is a 3D dynamics simulator of our multi-agent system of cooperating robots, based on the SDK Vortex toolkit (Critical Mass Labs, Canada, www.criticalmasslabs.com), which provides realistic simulations of dynamics and collisions of rigid bodies in 3D. Swarm-bot3D provides s-bot models with the functionalities available on the real s-bots. It can simulate different sensor devices such as IR proximity sensors, an omni-directional camera, an inclinometer, sound, and light sensors. A fundamental feature of the Swarm-bot3D simulator is that it provides robot simulation modules at different levels of detail. In particular, it provides a hierarchy of four s-bot reference models with increasing levels of detail. The less detailed models have been employed to speed up the process of designing neural controllers through evolutionary algorithms. The most detailed models have been employed to validate the evolved controllers before porting them on real hardware. The advantages of such a simulation environment are multiple: - it works as an aiding tool for accurately predicting 3D kinematics and dynamics of a single s-bot in a swarm-bot; - it has been employed to evaluate possible new options for hardware parts; - it represents a "plastic" world model which allows the design of new experimental set-ups in 3D; - it has been employed to quickly evaluate new distributed control ideas before porting them to the real hardware. Furthermore, the simulator provides on-line interactive control during simulation, useful for rapid prototyping of new control algorithms. Dynamic model switching is an included feature which allows to change the robot representation model in real-time. This allows a user to switch between a coarse and a detailed level of simulation model to improve simulation performance at any time. Swarm-bot3D allows to handle a group of robots either as independent units or in a swarm-bot configuration, which can be thought of as a graph, in which each node represents a connected s-bot. The connections can be created and released dynamically at simulation time. Connections may be of a rigid nature giving to the resulting structure the solidity of a whole entity.
Coordinated motion is a basic ability required of a swarm-bot. To allow the swarm-bot to move, the constituent s-bots must coordinate their actions to choose a common direction of motion. This coordination is not self-evident, as each s-bot is controlled independently. The required coordination is achieved primarily through use of the s-bot's traction sensor, which is placed at the turret-chassis junction of an s-bot. The traction sensor returns the direction (i.e., the angle with respect to the chassis' orientation) and the intensity of the force of traction (henceforth called "traction'') that the turret exerts on the chassis. Traction results from the movements of the s-bot's own chassis as well as the movements of other both s-bots connected to it. Note that the turret of each s-bot physically integrates the forces that are applied to the s-bot by the other s-bots. As a consequence, the traction sensor provides the s-bot with an indication of the average direction toward which the group as a whole is trying to move. More precisely, it measures the mismatch between the direction in which the s-bot's own chassis is trying to move and the direction in which the whole group is trying to move. Our experimental work has focused on the evolution of artificial neural networks capable of controlling the behaviour of a swarm-bot in a coordinated manner. The robot's controllers is a "perceptron", that is a feed-forward neural network with four sensory units, plus a bias unit, directly connected to two motor units. The network takes as input the traction sensor reading: that is, the first and third sensory units encode the dimension of traction parallel to the chassis, while the second and fourth units encode the dimension of traction orthogonal to the chassis. The output of the network, appropriately scaled, is used to set the angular velocity of the left and right robot's wheels and the turret-chassis motor. The connection weights of the neural controller are evolved. The evolutionary process run in a simulated world, instantiated by making use of the swarm-bot3D simulator. At generation 0, a population consisting of 100 randomly generated genotypes is initialised. Each genotype encodes the connection weights of 100 corresponding neural controllers. In the genotype each connection weight is represented by eight bits that are transformed into a number within [-10, 10]. Each genotype encodes the weights of four identical neural controllers that are used to control the s-bots assembled into a swarm-bot. Each swarm-bot is subsequently tested in five epochs, each lasting 150 time steps of 100ms each. At the beginning of each epoch the orientations of the chassis of the s-bots are randomly assigned. The 20 best genotypes of each "generation" are "reproduced" by generating five copies each, with 3% of their bits replaced by a new randomly selected value. In this kind of experiments, the problem that the s-bots have to solve is that their traction systems (wheels plus tracks) might have different initial directions or might mismatch while moving. In order to coordinate, s-bots should be able to collectively choose a common direction of movement whilst only having access only to local information. Each s-bot's controller (i.e., an artificial neural network) takes as input the readings of its traction sensor and as output sets the status of the s-bot's actuators. The results obtained show that evolution can find simple and effective solutions that allow the s-bots to move in a coordinated way independently of the topology of the swarm-bot. Moreover, it was found that the evolved s-bot controllers also exhibit obstacle avoidance behaviour (when placed in an environment with obstacles), and scale well to swarm-bots of a larger size. Additionally, they are robust to environmental changes such as varying terrain roughness or presence of moderately sized holes (i.e., holes too big for a single s-bot, but small enough to be passed over by the swarm-bot itself). Building on the coordinated motion behaviour, we were also able to synthesise controllers that allow the s-bots in swarm-bot formation to sense the presence of big holes and avoid them.
S-bots have rather limited visual capabilities and can perceive coloured objects at a maximum distance of 40cm. In order to be able to retrieve an object they first have to find it. Then, in order to facilitate the retrieval task, they build a path connecting the object to the target location. This path can be exploited by other s-bots or by a swarm-bot to find the way to the object and then back to the target location. The exploratory strategy employed by the s-bots takes inspiration from the path formation behaviour of ants. Ants deposit pheromones on the ground while walking and this gives raise to paths shared at the colony level. As our s-bots cannot deposit pheromones, they build visual paths as follows. They start from the target location identified by a blue object and randomly explore the space around it. When they reach a maximum distance from the target location they become beacons of the forming visual path. This means they stop moving and turn on their light. Other s-bots continue the random search around the beacon and can become beacons themselves extending in this way the visual path. The direction of growth of the visual path is therefore random and is not guaranteed to reach the object to be retrieved. However, visual paths under formation have some probability of dissolving and therefore unsuccessful searches (that is, incomplete visual paths that do not reach the object to be retrieved) can restart until a complete visual path is constructed. Once this stochastic procedure finds a visual path connecting the target location to the object to be retrieved, the visual path can be exploited by the s-bots to reach the target location and then to retrieve the object. The main advantage of this exploration strategy is that it relies on local information and simple rules and does not require the s-bots to create a map-like representation of the world. We have conducted a series of experiments that aims to reveal the effect of two probabilistic control parameters on the exploration strategies. The two parameters define the probability of a chain member to become an explorer, and the probability of an explorer to become a chain member. Our studies focused on the shape of the formed chains and the speed of the chain formation process while varying the two parameters. Generally speaking, we have shown that by varying parameters of the s-bots controller it is possible to generate a variety of exploration strategies. By manipulating a control specific parameter, that is the explorer timeout, is enough to obtain different shapes of the formed chains and different speeds of the chain formation process. In particular, two different behaviours can be observed: while a short explorer timeout leads to the fast formation of many chains, a long explorer timeout results in the slow formation of fewer chains. In another series of experiments we have compared the effectiveness of two different strategies with respect to their capacity to adapt to the characteristics of the environment. In the simpler strategy, we have static visual paths: the s-bots beacons do not move. In the other setup, the s-bots that form a visual path move in a coordinated way without breaking the path. The controllers developed in simulation have been ported successfully on the real s-bots that proved capable of finding the object and building a chain connecting the latter to the target location. The time required to build the chain is a function of the complexity of the environment and in particular depends on the presence, or absence, of obstacles.
Cooperative transport refers to the capability of a group of s-bots to transport a heavy object from its initial location to a target zone. Our initial studies focused on the design of artificial neural networks by artificial evolution to control the actions of a group of s-bots whose task was to pull and/or push a heavy object in an arbitrarily chosen direction. In this case, the s-bots could only interact through their physical embodiment to coordinate their actions during the approach and transport phase. In a second study, we designed artificial neural networks to control a group of s-bots that had first to connect to the object and then transport it towards a target location. The best of the evolved controllers efficiently transported the object as required. Furthermore, these controllers proved robust with respect to variations in the size and shape of the object they had to transport. We also studied the situation in which some s-bots were able to locate the transport target, while the others were not. To enable a blind s-bot to contribute to the group's performance, it was equipped both with sensors to perceive whether or not it was moving and sensors to detect the traction forces acting between its turret and its chassis. For group sizes ranging from 2 to 16, it was shown, in simulation, that blind s-bots make an essential contribution to the group's performance. The controllers for cooperative transport have been ported and validated on the real s-bots, using groups of up to 6 s-bots. In the experiments involving blind s-bots, it was verified that the blind s-bots do not behave disruptively. On the contrary, it was shown that they can make an essential contribution to the performance of the group. The same controllers also proved successful at transporting the object over various types of rough terrain. Furthermore, the controllers also enabled the swarm-bot to navigate over terrain with holes in it. (Some of these holes were sufficiently large that they defeated even a chain of two s-bots.)