Published February 2, 2016 | Version v1
Video/Audio Open

P colonies and P swarms for controlling robot swarms. Experimental setups and demonstration videos

  • 1. Dept. of Automatic Control and Systems Engineering, Politehnica University of Bucharest

Description

These eleven videos present different experimental scenarios used to test the flexibility and functioning of the LULU P colony/P swarm simulator and of the associated application Lulu_Kilobot for controlling robot swarms. Both applications will be published on Github under an open-source license. The input P colony (input) file, swarm configuration (config) file and V-REP scene (.ttt) are available for each video in the associated .zip archive.

The LULU simulator was included as a Python module in Lulu_Kilobot in order to test robot controllers based on P colonies, XP colonies, and P swarms for swarms of up to 10 Kilobot robots.

In the following sections, we present a small description for each of the eleven attached videos.

-----------------------------------------------------------------------------------------------
1_clone_10_circle

This video demonstrates the use of the robot cloning function of the vrep_bridge script in order to create 9 distinct copies of the source robot and distribute them on a circle around the source robot. The copies are so positioned by a distribution function that can be adapted to other forms. This cloning function allows one to generate large swarms of robots with ease.

-----------------------------------------------------------------------------------------------
2_one_pcolony_for_three_kilobots

In this video, we simulate a simple P minus colony using Lulu_Kilobot, on three different robots. At each subtraction, the robots move one step forward. At the beginning of the clip one can see the Robot - P colony association table, where each robot has a distinct copy of the original P colony.

-----------------------------------------------------------------------------------------------
3_pswarm_5_robots_3_colonies

This video demonstrates the flexibility offered by the config file of Lulu_Kilobot. From the config file we explicitly specify that the first two robots should use the go straight P colony. For the other colonies, we specify the number of robots that should be assigned, go left = 1 and go right = 2.

From the Robot - P colony association table, one can see that the first robot that is assigned a P colony uses the original P colony while the others use an independent copy of the P colony.

-----------------------------------------------------------------------------------------------
4_pswarm_2_robots_avoid_collision

In this experiment, we test the msg_distance agent from the input module, by continuously checking the distance from another robot.

If the distance is short, then we stop the movement and otherwise continue to subtract f objects from the environment and move forward.

Each of the two robots has a different P colony that was designed to check the distance from the other robot (robot_0 checks the distance from robot_1).

-----------------------------------------------------------------------------------------------
5_pswarm_2_robots_xp_colonies_15_steps

In this video we employ the exteroceptive communication rules (denoted by <=>) in order to synchronize the movement of two robots. The first robot moves forward 15 steps and after it stops, it signals the second robot to start moving. At this signal, the second robot starts to turn left 15 steps.

This shows the utility of exteroceptive rules that allow XP colonies (P colonies with exteroceptive rules) to communicate using the global P swarm environment.

-----------------------------------------------------------------------------------------------
6_1_pswarm_10_robots_disperse_steps_infinite_loop

In this video we run a more complex algorithm that involves the use of the following modules: msg_distance, led_rgb, and motion.

This video demonstrates dispersion, which is a typical self-deploying scenario in swarm robotics. The robots should position themselves away from one another, so that each robot is at least at a minimum distance from each of its neighbours.

All decisions are taken by the command module, on the basis of the received input data from msg_distance. A new direction of motion (and color) is randomly chosen if there are other robots closer than a pre-set threshold distance.

-----------------------------------------------------------------------------------------------
6_2_pswarm_10_robots_optimized_disperse_infinite_loop

This video is an optimized version of 6.1 (10 robots disperse).

The optimization consists in only exchanging data with V-REP when a new input request is detected in the input agents or likewise a new command object is detected in the output agents.

This results in a step-less movement of the robots and reduces the time needed for a new decision to be applied resulting in a faster overall simulation time.

-----------------------------------------------------------------------------------------------
7_pswarm_10_robots_optimized_disperse_infinite_loop_with_intruder

In this video we use the previously presented optimized dispersion algorithm (6.2) and introduce an intruder robot into the scene in order to evaluate the influence that this intruder has over the behaviour of the swarm.

One can see that robots that have stopped their movement, restart dispersing when the intruder robot is brought close enough. This can cause a chain reaction and ultimately cause the swarm to reposition.

-----------------------------------------------------------------------------------------------
8_1_pswarm_10_robots_secure_disperse_fast

In this video we test the proposed security protocol (based on entity authentification and P colony based id check) using the non-optimized dispersion algorithm.

In this film we see that the robots ignore the intruder robot even though it is placed in the middle of the swarm. On the other hand, if we bring a swarm member robot close to another swarm member robot, these two will start to disperse normally.

-----------------------------------------------------------------------------------------------
8_2_pswarm_10_robots_secure_disperse_infinite_loop_2

In this video we present the optimized (see 6.2 for details) version of the secured dispersion algorithm.

As was the case of the secured un-optimized version (8.1), in this secured version we test the influence of the intruder on the behaviour of the swarm by moving the intruder close to the center of the swarm and also moving the intruder close to the swarm after the dispersion is finished. We also note that if two member robots approach, the algorithm continues to work normally.

-----------------------------------------------------------------------------------------------
9_pswarm_10_robots_secure_d_min_disperse_infinite_loop

In this clip we show the effects of transparent input data processing.

The command agent always requests the smallest distance available from the neighbour list, by using the d_min command.

When the intruder robot is the nearest robot (the smallest value in the list) d_min will always return the intruder robot which cannot be processed because it is unknown to the swarm members. For this reason, a member robot that is in this situation will be blocked by the intruder robot.

Files

1_clone_10_circle.mp4

Files (1.0 GB)

Name Size Download all
md5:22d76030fe37b70a9671177ed00036df
19.1 MB Preview Download
md5:7e6167bfeec64521b8bf4cf56b0c69db
41.9 MB Preview Download
md5:781b3f0eadb6bef89e4bbfbd72074fd4
270.7 kB Preview Download
md5:93188571e2999fa17015bcb1dde6eb4c
202.5 MB Preview Download
md5:b0e70708ccdc4769c5bfdbeb96bdd46e
270.3 kB Preview Download
md5:c9bf08647ac998ca36a5bb9fdc67d1fd
26.2 MB Preview Download
md5:ccbbc347008e1f2c20365eb837a0b47a
270.3 kB Preview Download
md5:5c59629437d1f8dbf990b2a938acf700
67.8 MB Preview Download
md5:60a2631a0d5dde896693efd9d75cf5c2
270.2 kB Preview Download
md5:5ecbc96763dbf4f30122ed6b852ba20b
76.1 MB Preview Download
md5:e3434779dd09256092d8e2fb0c5fddbc
270.5 kB Preview Download
md5:0cc9f01bb785eed37cdac9914d7fc9e7
105.3 MB Preview Download
md5:5e9d7c785f42851d355d1a2f9a65dec3
270.5 kB Preview Download
md5:19d27df5d46961ed13596d30b8629624
90.4 MB Preview Download
md5:26bdb9d2e19cd2ed5e4cc026aecad851
313.1 kB Preview Download
md5:9c3382e58eae8ff813e5e50e2aca6db2
27.1 MB Preview Download
md5:346d087418a0581e7d79ea5c179e225b
313.4 kB Preview Download
md5:73114a1915caef19c311a2ef51dbc6ca
154.0 MB Preview Download
md5:01ebf72ed5bbd1bffc6c49b4a9084c81
313.4 kB Preview Download
md5:55d24437f2618fb723a445284419b624
228.8 MB Preview Download
md5:62b5d5ca00f98734d156c3f0f917690c
313.4 kB Preview Download