Bluetooth network for micro-uavs for communication network and embedded range only localization

The use of the Bluetooth smart technology as a communication framework to interconnect the robots is presented in this paper. Moreover, signal metrics of this network are used to provide an embedded Range Only localization scheme (RO-SLAM). When working with teams of robots, the communication between them is very important as it allows them to cooperate for the performing of the tasks. Additionally, being able to localize each other can allow the robots to optimize tasks and work more efficiently. Having both communication and localization integrated on-board in an small device is advantageous for micro-aerial systems in which payload is highly limited.


I. INTRODUCTION
Unmanned aerial vehicles (UAVs) have been the subject of much research and attracted the interest of the public in recent years. They provide new capabilities in consumer and industrial applications that are not available on ground robots. There are uncountable publications to increase their autonomy, path planning, obstacle avoidance, cooperation, localization, etc.
We focus on this article in robots that cooperates for a common task, in some cases this is known as swarm robotics [2]. The purpose is to reduce the importance of each individual robot to enhance the behaviour of the whole group. This point of view came from the nature, insects as ants or wasps and animals like fishes or birds act together to be stronger.
Multi-rotors have strong limitations regarding to the size, weight and payload. In order to make a device full autonomous, it needs to be carried with lots of sensors which has a huge impact on its energy consumption and in the dynamic of the system. Furthermore, this devices are strictly regulated by the law according to their size and weight.
This fact opens a new scenario for swarm robotics, if instead of carrying the same sensors in all the UAVs they can be shared among the swarm, the individual payload is reduced. That allows them to operate legally in more scenarios, and also reducing the energy consumption. Additionally, the system can replace easily the one of the sensors, by replacing only the small UAV, and even have the sensor duplicated.
For a proper functioning of a swarm system, three main pillars are needed: communication, relative localization and coordination. 1 Robotics, Vision and Control Group, University of Seville, Camino de los Descubrimientos, s/n, 41092 Seville, Spain prs, barrue, aollero at us.es & andres.palomino26 at gmail.com All the robots need to be linked with the others to share all the necessary information for performing the desired task. For the sake of security of the platform, it is needed to localize, at least relatively, all the robots. This localization can be used to avoid collisions within the team members and keep squads arranged. Finally, a coordination system is needed to order and command the robots.
The work of this article is focused on the two first concepts. We proposed a bluetooth based network that exploits the advantages of the new standard. On the top of that, it has been developed a range only localization algorithm that use the information of the network (RSSI and robots link states) to allow the robots to position their neighbors.
The remain of the article is structured as follows. Section II summarizes state of the art work. In Section III it is introduced the particular selection of Bluetooth devices and briefly explained how it works and how is used for the project. Section IV shows the developed algorithm for the localization of the robots. Then the algorithm is evaluated in Section V. Eventually, we presented conclusions in Section VI.
The communication technology used to connect the robots varies regarding the application. Zigbee is an standard protocol widely used for home automation and DIY projects. Articles [22], [1] used it for communicating nodes and robots in relative large distances. However this protocol has more energy consumption than other systems. Authors in [14], [10] used bluetooth technology to connect the robots but don't exploit the advantages of the new standard. In this articles, it was tested a communication network composed by bluetooh smart LE (low energy) modules, which are especially designed to be low-power-consumption making them very convenient for working with micro robots. The devices by Nordic, have a c++ interface that allows to send custom messages trough the network and also provides information about the communication state.
Given the communication framework, authors in [17], [11], [8] worked in the localization of the robots. However this work focuses on ground robots which makes the task simpler. The work on this article is based on [4] which proposes the coordination of the UAVs and using an internal odometry to produce relative localization of the robots. As contribution, we extended this implementation for working in 3D allowing us to test the algorithm for swarming with micro-uavs.

NETWORK
Bluetooth Low energy (BLE) has been steadily increasing for the wireless communications market since its launch aimed at applications such of Internet of things (IoT). This involves monitoring of wireless sensor networks and control of applications that are in continuous communication of state variables. This statement is very similar to the problem of coordinations of uavs.
The present work takes the open source implementation of a mesh network by M-Way Solutions [9] as a development framework. This approach is placed in the upper layers of application and host of the Nordic nRF51 chipset in combination with the S130 SoftDevice so that it manages the roles of the different devices in the communications including self-healing capabilities and implementation with battery powered devices. This device is advantageous small, which suites for micro-uav teams.
The S130 SoftDevice from Nordic enable the use of three central device connections and a peripheral. Communication management is based on establishing connections between neighbors and on assigning group identifiers. Those nodes with the same identifier will be part of a swarm and it will be possible to exchange information between them. This results in a scatternet topology (Figure 1), which interconnect all the robots. For each connection, the SDK provides an ID and the RSSI of the connection. The RSSI corresponds to a power indicator in the received signal in a radio communication that can be used in different wireless protocols. Several articles [11], [17], [8], [3] proposed the use of this metric to obtain a range model in terms of distance to apply the estimation algorithm, however most of them are focus on ground robots or 2d problems. Next section introduce the methodology used for the localization of the robots using this value. Eventually, section V-C introduce the decay model of the RSSI according to the distance and it is obtained a model from real experiments using the presented devices.

IV. LOCALIZATION METHOD
In this section a distributed alternative, where each robot is located within a multi-robot system to estimate the relative location of the neighboring robots using only the information available from two measures is exposed. The first measure corresponds to the distance between the robots within a maximum measurement range and the second measure is the estimation of the traveled path at each step of the algorithm application. Thus, it is considered that robots do not know the absolute positions and orientations, but rather each one has a relative coordinate frame that changes over time according to its location.

A. Range Only Slam
Let T be considered a collection of aerial robots or sensor nodes deployed in an environment and equipped with range sensors. The robot W 0 ∈ T at each step k = 1, 2, 3, ..., can receive the relative measurements within the radio r max as in Fig. 2. The state vector to be estimated includes the position is the estimated distance of the robot W i seeing by robot W 0 , P 0 k and P i k are position state vector of the robots and η k is zero mean Gaussian noise at step k. Furthermore, the orientation values for this framework approach is not considered and it is assumed that we can bound the error in the range measurements. In other researches the robots are able to measure their orientation with respect to a common frame of reference through the use of a compass, however, in the current network of micro-uavs, we proposed fixed orientations and rely the results only for the position vector estimation.
Other data shared with the network is altitude of robots z i that is introduced later in section IV-B.2.

B. Localization with coordinated movements
It is assumed that only the robots that perform action movements are able to estimate the relative position of the static neighbors. Therefore, control over the motions performed by the robots is needed to coordinate and track each robot movement within the mesh while the others remain stationary to apply the solution. In summary, there can not be two neighboring robots moving within the same set for the present approach to be applied.
Several swarm topologies can be formed according to the communication links between robots and some basis of graph theory can be added to the movement scheme in which each node represents a vertex in a communication graph. For the purposes of this paper, a simple motion-schedule is presented, in which a complete communications graph is considered.
Every robot can communicate with its neighbors and robots are classified as either mobile or static at each step to apply the control action and consequently the estimation algorithm. As a result, this type of scheme implies higher delays for a robot to move, linearly to the number of robots in a set, and does not demonstrate parallel characteristics desired for robot swarms.
However, finding a distributed motion-schedule is equivalent to maximize the number of mobile robots at any particular step which is a maximum independent set (MaxIS) of the communication graph. This problem is therefore a research interest according to the network in the swarm, in order to apply solutions to larger and finite set of robots that can rely on proposed solutions by distributed computing community.
1) Formulation on 2D: The authors of [4] formulate the problem of localization of robots with coordinated movements in a planar space. It is assumed that there is a set robots {W i ; ∀i = 1...N }. Each robot has a communication system that allows it to: • Measure a range signal between each of the other robots and itself. • Send its own odometry information to the other robots in the network. As in [4], we do not consider any limitation in the communication range. However we will discuss in more detail the capabilities of the system and the consequences of this assumption in Section VI.
The distributed algorithm to estimate the location of the robots in the swarm is based on the motion scheme shown in Fig. 3 where two neighboring robots W 0 and W i are part of a set. W 0 is performing a control action moving from position P 0 k−1 at step k − 1 to P 0 k at step k, while the robot W i remains static. Therefore, robot W 0 is able to estimate the location of W i by geometric triangulation techniques that also includes the distance measurements at current step d k (W 0 , W i ) and previous step d k−1 (W 0 , W i ) as well as its own estimation of the movement. Equations (2) to (5) describe the steps to obtain θ k (W i , W 0 ) representing the angle of the robot W i referenced in the coordinate frame of W 0 at time k. Fig. 3. The moving robot W 0 is able to estimate the relative position of the stationary robot W i The parameters needed to perform the algorithm at each current step include l 0 k which indicates the movement vector and α 0 k represents the change of angle of the moving robot, both values easily estimated from the odometry measurements. The cosine law is used to determine the inner angle β 0 k | i k between the motion vector and the distance vector at step k between the two robots.
After this step of estimation, the relative 2D position of the stationary robot can be deduced by multiplying the resulted angle θ k (W i , W 0 ) from (5), by a unit vector with magnitude d k (W i , W 0 ).
The solution is determined up to a flip ambiguity as a consequence of the inner angle, therefore, it is possible to address the problem by repeating the previous set of equations at following steps in order to ensure consistency for the solutions and to finally choose the most appropriate at step k.
The deduction of a feasible solution is linked to the type of motion applied where co-linear movements evidently do not allow solving the ambiguity problem whereas a path with change of orientation, it is possible to verify the consistency of the solutions by comparing the result in different steps of estimations.
2) Formulation on 3D: In this section it is extended the previous algorithm to the 3D problem. This make the algorithm more flexible and make it usable with aerial robots. In order to make it possible, we rely on one extra measure from the odometry; the altitude. This measure can be easily query to the platform. This is can obtained from sonar or laser range sensors and is usually more accurate than the other positioning measures. Fig. 4 represents a set of two robots where each of them measures its own altitude that can be added to the communication packet in the network together with the previous exposed measures of distance and odometry. The relative estimation of the z state in the coordinated frame of W 0 , is simply the difference ∆ between the measurement of W 0 and the measurements received from the other robots in the communication. 2 (6) Then, the distance vector d k (W i |W 0 ), followed by the Fig. 4. Difference in the z on each robot coordinate frame with respect to the others in an step k.
difference ∆d z k (W i |W 0 ) component, can be quickly used to deduce the planar x, y component of the three-dimensional distance vector as in (6). This last result will be used to apply the algorithms in IV-B.1 in such a way that the 3D state estimation is complete.
At this point it is important to consider that the additional value of the altitude can imply further noisy measurements and ambiguous solutions still result as in previous section.

V. VALIDATION
A. 2D simulations Fig. 5(a) shows the end of a simulated movement including three robots in a planar space that coordinate their actions by turns where only one of them moves at each step and can estimate its static neighbors. Robot 1 represented by solid red dot in Fig. 5(a) performs its first estimation of robots 2 and 3 (blue and green respectively), which remain static, at step four. Then the others robots perform the control action and try to estimate their neighbors as well. This movement-scheme results in each robot performing the estimation at intervals of twelve steps for the simulation applied, which will linearly increase as the number of robots included in the mesh. The model to simulate the distance measurements is presented later in section V-C.
A variance is applied for the simulation and Fig. 5(b) represents the errors in x and y resulted at each point for the estimation of robot 2 which depicts in relative low values of error due to the close distance from robot 1. However, as distance from source raises, errors are naturally expected to get higher as in Fig.5(3) which represents the estimation for robot 3. Finally, several measurements were taken at each estimation to find the average results at each point as seeing in Fig.6 that represents the evolution of the mean squared error (MSE) according to different values of η for both robots. Similar to previous subsection The value of altitude is included in the estimations as mentioned in subsection IV-B.2 as the difference data exchanged between robots within the mesh. Fig.7(a) shows a simulated result with a fixed variance for the z measurement. Another magnitude of error is therefore added to the algorithm and ambiguity results mentioned above could arise as exposed in Fig.7(b). However, these values can be averaged through multiple measurements as depicted in Fig7(c) where evolution of the error for both robots are represented.

C. Real experiments
Eventually, there were performed experiments using the real modules described in Section III in order to validate the methodology in real world environments.
Firstly, it is intended to experimentally model the RSSI with the Bluetooth devices from different set of distances. This measurements are used for determining the model as in (6), that describes the relation between the RSSI and range estimates at various distance separation d. From the experiments it was possible to deduce p(d 0 ) = −58.45dB which is the signal power at reference distance d0 and γ = 3.3687dB that refers to the mean path loss that depends on the structure of the environment which in this framework was performed in open space.
The standard deviation ϕ is taken from the results experimentally, as shown in Fig. 9(a) depicts the mean and variance of the measured signal strength at different distances averaged over 60 measurements at each location. Fig. 9(b) compares the estimate of the parameterized model from (6), with ground truth. (b) Relation between estimated distance and real distance Fig. 9. Each data point has been averaged from sixty measurements, blue line denote the computed mean and red bars the standard deviation As it is expected from the RSSI power values, the variance of the measurement increases according to the separation of the devices, so that the experimental results suggests limitations from 0.5 to 6 meters, but the communication reaches up to 10 meters.
The model has been used for validating the simulations. Once the model is validated, it has been also inferred the average values of noise in the signals. Figure 10 shows the results of the measured distance using the RSSI model from a stationary robot to a second one in four different positions. In Subfigure 10(a), the black line is the raw input data, as seen it is noisy, but applying a mean filtering improves the quality of the signal (red line). Subfigure 10(b) shows the error in meters on the distance using the model. The average error is 0.1333 meters with an standard deviation of 0.1444. In closer distances the both the mean error and the deviation are lower than in the farthest position. This have been integrated in the simulations to perform more realistic tests of the algorithms.

VI. CONCLUSIONS
In this paper we exposed a communication system using Bluetooth LE technology to be used with micro-uavs with an integrated multi-robot localization based on sensor nodes. We demonstrated the capabilities in terms of signal strength detection and multi-sensor communication where each robot is able to incorporate its own sensor information, together with the information of neighboring robots and estimate their location. The incorporation of three local measures such as the distance to other robots, the measurement of odometry and the measurement of altitude, which altogether manage to extend the present developments in the literature, towards their application in mini robots UAVs. The localization algorithm presented is conditioned to an appropriate movement scheme of the robot swarm, since only those that are in movement will be able to estimate the location of the neighboring static robots.
The results of the simulations show that the estimation is highly susceptible to variations in the distance measurement due to trilateration technique. The algorithm includes the distance measures in two rounds and two possible estimation solutions are generated.
Further interests include adaptations with hardware and the use of estimators such as Extended Kalman Filter to decrease the noise on measures and pursue potential benefits plus keeping simplicity in the field of cooperative aerial robots.
ACKNOWLEDGMENT This work has been developed in the framework of the EUfunded project H2020 AEROARMS (AErial RObotic system integrating multiple ARMS and advanced manipulation capabilities for inspection and maintenance) Grant Agreement No: 644271 (SI-1439/2015) and the Spanish MINECO Retos project AEROMAIN (DPI2014-5983-C2-1-R).