1[...]We first consider a swarm of mobile robots initially positioned in a single file. Our aim is to
allow the whole swarm to move in formation, the first robot acting as the swarm’s leader, while the others follow in its path. To this aim, we let each regular mobile robot act as a differential- motored, two-sensored, light-attracted Braitenberg vehicleBraitenberg(1984). This vehicle regularly updates the speed of its left (resp. right) motor proportionally to the intensity of the light read by its right (resp. left) sensor. In other words, each of our regular robots consistently adapts its course to drive toward the brightest light source its sensors can detect. To let the robot move in formation, we attach a light at the rear of each robot. Therefore, each regular robot will be attracted toward the robot directly in front of it in the file. Hence, each agent (except for the last one in the file) acts as a (local) leader for the next agent in the file. Similarly, each regular robot simultaneously acts as a follower, attracted by the previous robot in the file. This effectively enables us to build a “robot train,” whose path the first agent in line (i.e., the leading robot) controls.[...]
3.2.1 Braitenberg Control Mechanism
Formally, we respectively write VL(t ) and VR(t ) the speeds of the left and right motors at
timestep t . Similarly, we respectively write ML(t ) and MR(t ) the light intensities read on
the left and right sensors at timestep t . We use the normalized values SL,R(t ), obtained by
computing SL,R=
ML,R(t )
max(ML(t ),MR(t )). With this, we express the speed update rule as, in a similar manner as in the previous chapter (see Eq.(2.14)):
VL(t + 1) = V (t + 1) + β · (SR(t ) − SL(t )), VR(t + 1) = V (t + 1) + β · (SL(t ) − SR(t )). (3.1)
In Eq.(3.1), V (t + 1) stands for the forward speed of each robot, and β ∈ R+is a parameter governing the rotation speed of the robots. We let each robot adapt its current forward speed
V (t + 1) in order to keep up with the robot in front of itself in the line. More specifically, each
robot aims at remaining at a given distance from the its local leader. To achieve this, we implement a simple proportional controller on each robot’s speed:
V (t + 1) =D(t )
D0 · VLeader,
(3.2)
with D(t ) the measured distance from the local leader, D0the goal distance from the local
leader, and VLeader the speed of the swarm’s leader (assumed constant).
3.2.2 Numerical Simulations
To simulate our robotic swarm, we consider the robots as e-puck robots (see Chapter 2). As a reminder, e-puck robots are cylindrical mobile differential robots, equipped with 8 proximity sensors. These sensors are nearly uniformly distributed along the robots’ perimeter. For the sake of the numerical simulations, we consider the sensors to be uniformly distributed along the robots’ perimeter. Figure 2.4 illustrates the real and theoretic shape of the mobile robots considered here.
Here, the e-puck robots with their 8 sensors are used to model 2-sensored attractive Braiten- berg vehicles. This is achieved by aggregating their sensors into two groups (left and right), namely SR = S0+ S1+ S2+ S3 SL = S4+ S5+ S6+ S7. (3.3)
To model the ubiquitous randomness of the environment and sensors’ actuators, we add noise to our control mechanism. White Gaussian Noise (WGN) sources are added to the difference
SR(t ) − SL(t), with an empirically selected variance σ = 0.05:
VL(t + 1) = V (t + 1) + β · (SR(t ) − SL(t ) + σW (t)), VR(t + 1) = V (t + 1) + β · (SL(t ) − SR(t ) − σW (t)). (3.4)
Figure 3.1a illustrates the initial state of the 10 robots, and 3.1b-3.1d display a selection of consecutive states of the swarm. In this run, the leading robot is scripted to follow a horizontal figure eight. This pattern is a robust test for the swarm’s resistance to turns induced by the leader. Indeed, this figure eight consists of two consecutive full rotation with opposite orientations. Each robot reacts to the change of direction of its leader after a short delay. With time, these delays add up, and lead to a large difference of paths between the front and the rear robots in the file. If the rotation speedβ in the Braitenberg dynamics Eq.(3.4) is not adequately chosen, a turn induced by the leader can jeopardize the swarm’s cohesion. This requires us to further investigate the swarm’s stability (i.e., the swarm’s capacity to remain flocked, mainly when the leader changes direction).
−300 −200 −100 0 100 200 300 −600 −500 −400 −300 −200 −100 0 (a) −200 −150 −100 −50 0 50 100 150 200 −100 −50 0 50 100 (b) −200 −150 −100 −50 0 50 100 150 200 −100 −50 0 50 100 (c) −200 −150 −100 −50 0 50 100 150 200 −100 −50 0 50 100 (d)
Figure 3.1 – a: Initial state of a swarm of 10 robots (1 leader [in red] and 9 followers) following the dynamics of Eq.(3.2). All robots are initially facing upward. b-d: Selected consecutive states of the swarm through time. During this run, the leader follows a horizontal scripted figure eight, while the rest of the train follows in its path. Distances are displayed in millimeters.
3.2.3 Stability Analysis
The forward speed updating rule given in Eq.(3.2) allows the followers to match the leader’s speed. The main issue with keeping the formation arises when the leader takes a turn. To remain in formation, the followers must be able to take a turn as sharp as their leader. A robot’s sharpest turn occurs when one of its sensors measures no light (i.e., for instance
SL(t ) = 0 induces the sharpest right turn). When this occurs, we have SR(t ) − SL(t ) = 1¡ =
−(SL(t )−SR(t ))¢, implying that the differential between both motors will be 2β. Assuming that
the robot’s forward speed remains close to VLeader, the resulting minimal radius the robot can follow is:
ρmin= e 2 VL+ VR VL− VR = e VLeader 2β , (3.5)
with e the interaxial distance of the robot. Knowing the radiusρminof the sharpest possible turn taken by the leader, Eq.(3.5) determines the threshold valueβcin Eq.(3.1) (i.e., anyβ > βc
ensures swarm cohesion during turns): βc= e 2 VL+ VR VL− VR = e VLeader 2ρmin . (3.6)
Figure 3.2 displays the end state of an unstable swarm (i.e., where the formation control mechanism cannot keep the swarm in formation), withβ = 32 < 43.19 = βc. Notice how the
last 3 agents are unable to follow the leader during its turn, and ultimately leave the swarm.
−300 −200 −100 0 100 200 300 400 50 −150 −100 −50 0 50 100 150 200 250 300
Figure 3.2 – End state of a swarm of 10 robots (1 leader [in red] and 9 followers) following the dynamics of Eq.(3.2) at T = 60[s]. During this run, the leader follows a horizontal scripted figure eight, while the rest of the train follows in its path. The choice ofβ = 32 < 43.19 = βc
does not enable all robots to remain in formation while they follow the leader. Three robots (red, blue and green lines) ultimately leave the swarm. Distances are displayed in millimeters. Even in stable swarms, regular robots follow slightly different paths than the leader (this, because of the delays between the leader’s and the followers’ turns), but cohesion still remains.