Abstract
This article presents the idea and application of autonomous drones as mobile message ferries in delay-tolerant networks. The delay-tolerant network communication bases on messages ferrying called store-carry-forward paradigm. The messages ferrying can be realized by drones—an autonomous flying robots. For indoor application, drones are equipped with the sensors for distance and obstacle detection. The use of drones can be particularly effective in emergency scenarios where the human-rescuers’ activity is impossible due to hard unhealthy conditions. Our solution was tested in indoor scenario. The test results demonstrate good performance of our solution.
Introduction
Delay-tolerant networks (DTNs) are extensions of the mobile wireless ad hoc networks (MANET). The DTN architecture was first introduced in 20031–3 by Kevin Fall for interplanetary communication. DTNs are composed of mobile nodes that are intermittently connected in a spontaneous manner. The high mobility of the nodes is a reason of occasional node meetings and permanent network partitions. The partitions are a cause of difficulties in fast message delivery between the source and the destination. Therefore, the DTN communication is done by ferrying messages using store-carry-forward schema. 4
The nodes that store and forward messages are called message ferries. Message ferries can be different depending on the application. It may be devices associated with humans and unmanned robots. For search and rescue (SAR) scenarios, which are one of the model application for DTNs, these are unmanned robots. The usage of mechanical machines in SAR scenarios can be particularly useful during industrial and natural accidents, where as a result of unfavorable biological conditions, like pollution or high temperatures, the free operation of humans and animals is impossible. Therefore, robots can serve as a diagnosis tool and take the function of communication devices.
Nowadays, the development of small flying machines allows us for realization of different applications, among others the DTN communications and sensing tool ideas. It expands the chances for fast movement in difficult areas. We understand the difficult environment as areas inside buildings, especially partially blocked. For such scenarios, autonomous flying vehicles are well suited.
The major contribution of this article is the autonomous DTN message ferry drone for indoor applications. We propose the universal software architecture for drone and present details of our prototype. Our prototype passed all the tests in terms of mechanical air efficiency and communications. The prototype novelty includes the use of universal architecture for control and communication of drone based on Android devices. The use of Android opens the easy and fast way for a new application development and thereby universality of mobile platform for communication.
The rest of this article looks as follows: section “State of the art—drones and DTN communication” presents state of the art—the discussion about the existing autonomous drone solution and DTN routing protocols. Section “General idea—message carrying for indoor applications” touches the general description of the message-ferrying drones; the basics of drone hardware are presented in section “Basics of message-ferrying drone platform hardware.” Section “Autonomous message ferry” presents details of drone control and message forwarding. Section “Drone tests” presents the test conducted in indoor environment. Conclusions can be found in section “Conclusion.”
State of the art—drones and DTN communication
Recently, the issue of the works related to unmanned platforms became very popular. Drones are unmanned flying devices constituting a special group of robots. Their popularity is determined by the relatively small size, the cost of construction, and their exploitation and use, such as photographic reconnaissance, surveillance of urban traffic, 5 evaluation and warnings in the case of disasters and unexpected events,6,7 and ecological and agricultural applications. 8
Unmanned flying devices are divided into fixed wing aircraft, ornithopters, and rotorcraft. The first two groups are used in situations where non-zero minimum speed of the device is acceptable, which is a necessary condition to keep in the air. Rotorcrafts, including multi-copters, do not have these restrictions.
The system of multi-copters has several advantages that make it a very popular solution for small devices—drones. They are compact constructions with small size equipment. Due to the multi-copter system and possibility of change speed for individual rotors, they have high operational simplicity and relatively low forward speed ranging from 0 to tens of kilometers per hour.
Operational simplicity and forward speed range make it a convenient and simple platform for use in emergency situations to facilitate the communication, monitoring, and diagnosis. A detailed breakdown of multi-copters and their use can be found in Gupte et al. 9
In recent times, the works combining the use of drones in DTN started to appear. The system based on a network of sensors using DTN and autonomous flying vehicles has been offered in Ha et al. 10 The aim of the system is the environmental monitoring by the system of sensors and data transfer using ad hoc mode and structured mode. Issues of synchronizing and transferring data to a remote database have been developed in Ha et al. 11
The issue of network communication of drones can be solved in different ways. The first approach is the use of drones as flying access points having the ability to communicate with the infrastructure. Examples of such solutions are not limited to multi-copters and include the use of flying platforms as WiFi access points 12 or mobile phone base stations; 13 research on the use of long term evolution (LTE) systems is also conducted. 14 Application example for multi-copters is presented in Manzoni et al. 15 This group of solutions also includes projects related to remote control of multi-copters and data transfer using the existing and temporarily accessible telecommunications infrastructure, which has been proposed in Yamamoto et al. 16
The second approach is to work on fully autonomous drones, occasionally communicating with other nodes working in ad hoc mode. A prototype multi-copter platform flying as DTN units is an example of such solution. 17 The platform communicates in ad hoc mode using the implemented mechanisms in Android system; the autonomy of the vehicle is based on movement along a predefined path using global positioning system (GPS) measurements. A similar implementation is described in Kwon and Hailes 18 where the aim of the platform is to optimize routes of drone in order to ensure the communication with as many other nodes as possible.
As far as we know, all the solutions are designed for use in free space, or providing communication solutions, or spatial orientation using GPS or remote control.
Our innovative approach is based on three aspects: (1) indoor flying—which is a big challenge, (2) the lack of communications infrastructure—thus ad hoc network application, and (3) best effort assumption. To the best of our knowledge, our project is novel in terms of merging an autonomous flight of small drone in indoor environment and the DTN message-ferrying communication.
On the other hand, there exist many solutions of DTN routing protocols. Many of them are platform independent; therefore, it could be applicable in our project.
The simplest solution is direct contact (DC). 19 The algorithm works by keeping the message by the source node until it contacts with the destination. For message delivery, DC between the source and the destination is necessary. The extension of DC algorithm is two-hop routing. 20 It forwards the message from the source to the first x nodes and those nodes forward message only to the destination.
The most popular algorithm which is often used as a reference is called epidemic routing (ER). 21 The message routing is done by forwarding messages to every node. Each node replicates the message and forwards it. The replication makes ER very reliable, but in terms of communication the solution is ineffective because of the number of multiplied messages.
Other solutions restrict the number of messages. The Random Walk 22 is an example of solution which is based on one message. Sometimes the number of the same messages can be restricted to multiple copies forwarded separately like Spray and Wait. 23
In general, there exist a number of specialized DTN routing protocols which use the nodes’ mobility modeling and prediction.24,25 Some algorithms are worked using geographical positioning.26,27 The survey of DTN routing protocols can be found in Salman et al. 28
Many of these routing solutions are related to our work and can be applied on our platform. Advanced solutions can improve communication efficiency, but for simplicity and reliability we chose ER. The decision of using the simplest multi-hop routing was made to avoid communication problems during phase of prototype testing in difficult indoor environment. Advanced routing protocols can be further added as separate communication modules.
General idea—message carrying for indoor applications
Drones, quadrocopters in particular, are the most convenient devices to fulfill the assumption of transferring messages from the DTN inside buildings without infrastructure. They may communicate with the environment through the use of wireless interfaces using communication standards such as WiFi and Bluetooth. Stationary or portable devices, connected to the sensors, humans, and other drones, can be their partners in communication. Example of communication is presented in Figure 1.

Example of communication between the various elements of the opportunist incoherent with the use of drones.
The proposed solution combines hardware and software solutions. For our testbed platform, we decided to use well-known Parrot AR.Drone 2.0 quadrocopter. 29 This is the most popular solution because of the well-described hardware and open programming interface. This platform is very stable during movement and has the ability to use the interface for control and communication, and the housing to mitigate collisions with other objects. The platform is equipped with external sensors and a central unit. As part of the work, a universal architecture for flying vehicles corresponding to assumptions of DTN was also proposed.
The architecture features hardware dependent and independent of the flying platforms’ functionality. Hardware-dependent part is mainly connected to the use of the application programming interface (API) to control the drone with universal commands, specific to independent part. Independent commands are connected to hardware-independent module by control interface. Other elements include modules for drone orientation and navigation, in particular, by using external sensors available on drone and the module responsible for the communication for DTN. The individual elements and the construction of the hardware are described below.
Basics of message-ferrying drone platform hardware
A proven design of AR.Drone 2.0, which is a commercial venture, was adopted as the basis for the development of the hardware platform. The project provides good stability and maneuverability in the air, allowing to focus on the implementation of additional functions. AR.Drone 2.0 is equipped with two housings, including one used to move indoors. Our project uses both housings, but housing for confined spaces is more convenient for ease of deployment of the sensors. Quadrocopter has brushless motors and a battery of 1000 mA h. Flight controller also has a programmed automatic stabilization. It uses video stream from the front and bottom cameras and accelerometer and gyroscope.
In order to create an autonomous unmanned aerial vehicle (UAV), it was necessary to include elements to increase the diversity of the sensors and the introduction of the central unit to take the necessary data. IOIO board provides the use of a high-level language Java API to manage the functions of the input/output (I/O) as if they were an integral part of the client.
In order to identify the obstacles, we have proposed the use of ultrasonic sensors to measure the distance from obstacles. The sensors are based on measuring the return time of sent signal within its spatial characteristics. The used sensors provide precise measurement with the angle of 30°. Due to the use in confined spaces, it was decided to use HC-SR04 sensor with a measurement range up to 2 m. Our solution includes versions using one distance sensor at the front and three sensors at the front and on both sides.
During our preliminary work, we decided to use the central unit with Android operating system. The reason was the popularity of this system in the applications for smartphones. Initially, a lightweight smartphone was considered as a central unit. During the early tests, instability of the flight has been observed, so we came to the conclusion that the lightest smartphones are too heavy; therefore, we used Android Stick. Android Stick is a minicomputer running Android 4.4. MK808B used for our works. It is equipped with 1 GB of RAM, 1.5 GHz quad-core processor, and the ability to communicate via USB, mini HDMI, and WiFi and Bluetooth. The total weight of MK808B is more than two times less than the smartphone and its dimensions are far better to place it on the drone board.
USB interfaces of MK808B were used to connect power from the drone battery as well as for communication with IOIO OTG. Wireless interfaces have been used to flight control and for communication with other units. Wiring diagram of the cable and wireless connections is shown in Figure 2, black connections are constant wires, and red and green connections are used during server start.

Hardware connection diagram of autonomous drone.
The above description has resulted in building a prototype using two housing versions: with (see Figure 3) and without shields of blades (see Figure 4). Due to the disposable weight, the version with shields of blades is equipped with a front placed distance sensor and the version without shields is lighter, which allows install three distance sensors and lead to longer drone operating time.

Indoor type of housing—one distance sensor.

Outdoor type of housing—three distance sensors.
Autonomous message ferry
Control and distance reading
The physical platform, presented in the previous section, was the basis to implement the architecture presented in this article. API for controlling the drone is one of its elements. API includes the basic functions which determine movement of the drone such as takeOff(), landing(), hovering(), trim(), up(), down(), rotateLeft(), rotateRight(), goForward(), goBackward(), goRight(), goLeft(), magnetoRotateRight(), magnetoRotateLeft(), and calibrateMagnetometer(). They were based on AT commands sent for execution by drone. goForward() example of a function is shown in Figure 5.

Example function goForward().
The code for readings from the sensors is another necessary platform element. This module is implemented as “Service.” In programming on the Android platform, this means that the module is running in the background, even if the user does not interact directly with the application. Function setup() is performed during the initialization of reading distance module. That is the place of mapping which ports on the IOIO board will be used. Function loop() operates as a loop with the execution of the same code. Function write(

Main functions operating IOIO OTG board.
Autonomy—scenarios of movement
During the development of the platform, we have come to the conclusion that one distance sensor is enough for the movement of the platform. Taking into account its characteristics, it can be evaluated how to bypass an obstacle, or whether it is possible to fly through the holes of a size greater than the size of the drone. An example of this scenario is shown in Figure 7, where the opening wider than the dimensions of the drone can be detected from the distance of 63 cm. This means that seeking passage drone must get to the wall on that distance.

The problem of passing through the hole.
On this basis, we proposed two schemes of movement of drones based on the knowledge coming from one front sensor and indoors. These are (1) the diagram of turns to the right and (2) the diagram of looking around. Figure 8 presents a diagram of turns to the right in the indoor application. The drone on this diagram moves forward initially, until an obstacle in preset distance (SAFE_DISTANCE) appears on its path. When it encounters an obstacle, it is in place and then turns right by tens of degrees, then it stops again, and again it decides whether it can move forward (doing it when the sensor reading is greater than SAFE_DISTANCE). The figure presents rectangular room, that is why the rotation angle will amount to 90°. However, if the drone flew over the wall at an angle, it would turn by a smaller angle.

The movement in a confined space.
The diagram of looking around is shown in Figure 9. In this diagram, the drone flies forward until it encounters an obstacle just as in the previous case. If it encounters an obstacle, for example, the box on the left side, the first thing it does is turning to the right (set in the program) by 90°, approaching to the front of the side wall, which is another obstacle. At this point, using the fact that the drone has turned more than 90°, it starts turning to the left until it can move forward. After this step, the drone will approach the second box on the right. Again, for the first time the drone starts to turn right but not more than 90°, and then it will begin to turn left.

The movement in the corridor with obstacles.
Three distance sensors are used for a lighter outdoor housing. In this case, reducing the distance from any sensor triggers the response of maintaining a safe distance from the obstacle.
Autonomy: the implementation of the algorithm
These diagrams were implemented for the movement of the mobile node. Under these diagrams, when the sensor reading indicates a value greater than SAFE_DISTANCE set to 50 cm, the drone moves forward until it encounters an obstacle located in front of it at a distance of less than SAFE_DISTANCE. Two possibilities are taken into account: (1) if the inertia of the drone response is so large that the drone will decelerate before the obstacle at a distance less than the value of the constant SAFE_DISTANCE_2 set to 20 cm, the drones will begin to move away from it to maintain SAFE_DISTANCE. If it reaches the distance greater than SAFE_DISTANCE, it will again move forward until it reaches the distance of less than SAFE_DISTANCE but more than SAFE_DISTANCE_2. Then it proceeds to step 2. Withdrawal of drone aims to maintain a safe distance from obstacles so that it could, in a collision-free way, look at which direction it can continue to fly. The second possibility is when (2) the drone decelerates before the obstacle closer than SAFE_DISTANCE, but more than SAFE_DISTANCE_2 and it proceeds into Hover state.
The next step involves drone’s looking around to define which direction it may go on. When the drone is in Hover state, it starts reconnaissance by the rotation. At the first time the drone turns to right every several dozens of degrees. It continues this until the readings from the sensor determine a distance greater than SAFE_DISTANCE, then the drone decides to move forward, but at the same time it cannot turn to the right by more than approximately 90° from the original direction (i.e. the direction in which the drone is positioned during the rise in the air). If the drone turns by an angle of approximately 90° to the right and is not able to move forward, then it begins to rotate counterclockwise in the same way. In this way, the drone makes reconnaissance with an angle of approximately 180°. The diagram of these steps is presented below (see Figure 10).

The autonomy algorithm.
Communication
One of the main tasks of our drone prototype is to offer communication services. It is the implementation of the store carry forward paradigm, which is the basis of DTN. We proposed to use of two communication interfaces: WiFi Direct and Bluetooth.
For this work, we implemented a simple stack, which is based on the simple communication protocol called ER. The protocol implements receiving and storing all messages, and when it is possible, it forwards all new messages to the encountered nodes.
Drone tests
The implementation of a flying platform for DTN was tested. The tests include the physical properties of the platform, its mobility, as well as communication capabilities. The platform parameters for the test are presented in Table 1. All the physical tests were conducted at the height of 1 m.
Platform parameters for tests.
At first, we conducted tests of the physical properties associated with long-term durability of platform. As part of the tests, we used the full load of the platform by maneuvering in the air and the continuous transmission of messages over the WiFi radio interface. The test results are shown in Table 2.
Platform operating lifetime.
Another test was to measure the time of platform movement in the corridor with a width of 2.5 m, L-shaped with dimensions of 60 m × 27 m with the nominal forward speed of 1.5 m/s.
The test results are shown in Table 3.
Time of covering the distance.
The tests related to network performance included the tests of time of sending the message packages between the central unit on a flying drone and the external device. The tests were performed during the drone operation. The results, which were measured by us, allow to conclude the usefulness of the proposed platform. Both motor tests and communication tests were completed successfully.
Conclusion
In this article, we described the idea and implementation of an autonomous drone to carry the message inside the buildings. As part of the article, we introduced universal architecture for a flying machine and a proposal for the implementation of the platform using the AR.Drone 2.0 and Android Stick and IOIO interface. Within the article, we presented the elements of the implementation of the autonomous movement with the proposed platform. The platforms have been tested, and the results of the tests are optimistic according to our best knowledge. In the future, we plan to propose cooperation of swarms of autonomous drones to increase the duration of the use of platforms, their cooperation in identifying larger areas, and storage of messages.
Footnotes
Academic Editor: Ki-Il Kim
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
