• No se han encontrado resultados

2. El cambio climático: la realidad y su percepción

2.1. El problema del cambio climático

2.1.2. El problema técnico-científico

2.1.2.2. El origen del problema

2. The parameters µ and are calculated by interpolating the actual distance

measured in ARGoS with the physical-robot data stored in the look-up

table.

3. The simulated value of signal strength is calculated by drawing a number

from the log-normal distribution obtained from the previous point.

4. The value of signal strength is converted in distance with Equation 1.

The boxplots in Figure 5b show the distribution of final sensed distance

in function of the actual distance between the robots in the simulation.

9

Figure 5.3: Comparison of sensed and actual distance between two simu- lated robots using the ARGoS model of the e-puck range and bearing board developed by Garattoni et al. [92]. Taken from [92].

Consequently, relative range and bearing data is not used to calcu- late an observed robot’s pose. Instead, the observer senses the abso- lute coordinates and orientations of neighbouring robots in the global coordinate system. This is similar to the proposed tracking system vir- tual sensor approach, except that the observations are subject to local sensing restrictions such as line-of-sight and packet loss, as the pose data is only made available if a range and bearing packet is received. Although the maximum range of the real e-puck range and bearing board is 80 cm [87], the simulated range and bearing sensors/actua-

tors were limited to a range of 40 cm, as shown in Figure 5.2. This range was chosen because it was found to produce stable aggrega- tion with, whilst also ensuring that sensing remained local.

5.2.5 Range and bearing packets

The range and bearing sensor/actuator is not only used for localisa- tion — each packet also contains a message payload that can be used to send data between robots. This is a particularly useful feature for the proposed fault detection approach, as it allows robots to broad- cast their own ID in each range and bearing packet. An observing

robot can then uniquely identify the source of each packet, and use this information to associate each observation with the correct robot across multiple instants in time.

Although not explicitly implemented, it is assumed that the robots broadcast their own orientation (sensed via an on-board compass), as it is not possible to sense the orientation of a robot from range and bearing values alone. If an observer successfully receives a packet from another robot, that robot’s absolute orientation in the global coordinate system is made available to the observer.

As mentioned in Section 5.2.3, each robot broadcasts its internal controller state. It also sends its own observations of neighbouring robots in the range and bearing packet. This is necessary for sharing local perspectives, as described inSection 5.1.

5.2.6 Packet drop probability

Every time a robot should have received a packet, there is some chance that the packet will be dropped. This may occur in reality due to IR interference, or if multiple robots send data at the same time, resulting in collisions. If a packet is dropped, then the sending robot essentially becomes invisible until another packet that it sends is successfully received, resulting in discontinuous observations. The effect of discontinuous observations on the fault detector is discussed in detail inSection 5.4.3.

The default value chosen for this parameter is a packet drop prob- ability of 1%. This is relatively low, as the fault detector requires mostly continuous observations of neighbouring robots to work effec- tively. The effect of varying the packet drop probability is analysed in greater detail inSection 6.7.

5.2.7 Position noise

As explained in Section 5.2.4, the positions of neighbouring robots in the global coordinate system are made available to each observer (subject to local sensing restrictions). In order to simulate imperfect sensing, noise is added to the sensed position of each robot. This is achieved by generating a noise vector with a length that is randomly sampled from a normal distribution with zero mean, and a standard deviation of σposition. The angle of the noise vector is randomly from a

5.2 argos simulator 119

to the true position of a robot, and the resulting coordinates are made available to the observer.

This is equivalent to generating a noisy position by sampling from a bivariate normal distribution that is centred on the robot’s true posi- tion. This noise model is identical to that built into the generic range and bearing sensor ARGoS model, but is somewhat unrealistic. In re- ality, the error in the range data would differ from the error in the bearing data, as shown by Gutiérrez et al. [87]. The error in the range

data will depend on the reliability of mapping IR signal strength to distances, while the error in the bearing data would depend on the number of IR transceivers used on the range and bearing board. This would result in an ‘arc’ of noise, rather than noise that is uniformly distributed around the robot’s true position. The amount of noise in the sensor readings would also increase with distance from the ob- server, but this is not modelled in the default ARGoS implementation — the level of noise is constant irrespective of the distance between

observer and observee.

Although modelling the error in the range readings and bearing readings separately would theoretically produce a more realistic noise model, any attempt to do so would be arbitrary if it is not based on real sensor data. Unfortunately, as explained in Section 5.2.4 the e- puck range and bearing sensor model developed by Garattoni et al. [92] could not be used for this research project, because the amount

of noise they introduce into the sensor readings is too high. In terms of the research question this thesis attempts to answer, the focus is not upon creating an accurate noise model for the simulated sen- sors. Rather, it is to investigate how well the fault detector copes with slightly unreliable sensor data, and therefore internally simu- lated robot poses that are inconsistent with ‘reality’.

The default value chosen for σposition is 1 mm, so 95% of sensed

positions will be within a 2 mm radius of a robot’s true position (2 standard deviations from the mean). This is a somewhat unrealisti- cally low level of noise when compared to existing range and bearing sensor hardware, however the proposed fault detection approach re- quires relatively accurate observations of robot behaviour. The effect of varying σpositionis analysed in more detail inSection 6.7.

Parameter Value

Experiment duration 400s (6 m 40 s) External/internal simulation step 100ms Range and bearing sensor range 40cm Range and bearing packet drop probability 1% Position noise standard deviation (σposition) 1mm Orientation noise standard deviation (σorientation) 1◦ Motor noise standard deviation (σmotor) 0.1

Table 5.1:ARGoS simulation default parameter values.

5.2.8 Orientation noise

As discussed inSection 5.2.5, it is assumed that each robot broadcasts its current orientation, which would be sensed via an on-board com- pass. In reality, this orientation data would be subject to error, so a simple noise model is used to simulate the error. The noise is gener- ated by sampling a single value from a normal distribution with zero mean, and a standard deviation of σorientation. This noise value, which

may be positive or negative, is added to the true orientation before it is broadcast by the robot.

The default value chosen for σorientation is 1◦, so 95% of sensed ori-

entations will be within±2◦ of a robot’s true orientation (2 standard deviations from the mean). Again, perhaps this is an unrealistically low level of noise, but the fault detector requires accurate observa- tion data to perform well. The effect of varying σorientation is analysed

in more detail in Section 6.7.

5.2.9 Motor noise

The default ARGoS noise model is used to generate noise for the sim- ulated e-puck’s differential drive motors (separately for each wheel). The noise is generated by sampling a single value from a normal distribution with zero mean and a standard deviation of σmotor, and

multiplying it by the desired wheel velocity. This noise value, which may be positive or negative, is added to the desired wheel velocity. This model causes the level of noise to increase as the robot’s speed increases.

The default value chosen for σmotoris 0.1. Given that the maximum

5.3 reimplementing the ω -algorithm 121

in the worst case, 95% of wheel velocities will be within ±0.64 cm/s of a robot’s desired wheel velocities (2 standard deviations from the mean). The amount of noise applied to the wheel velocities should have no effect on the fault detector, assuming that noise is modelled accurately in the internal simulator.