# Integrating Cognitive Radio with Unmanned Aerial Vehicles: An Overview
## 5 Developing a Simple and Low-Cost CR-Based UAV Testbed
### The Testbed Components  
The first step towards building this testbed is to develop and test a CR platform with the purpose to integrate it with the UAV. We developed one using a Raspberry Pi 3 connected to an RTL SDR 820T2 [91] as the radio front-end with a basic antenna. The RTL SDR 820T2 is a simple and low-cost USB SDR receptor, which frequency coverage varies from 30 MHz to 1.8 GHz.  
Although the RTL SDR 820T2 does not support wireless data transmission (it only supports wireless data reception), its low-cost feature makes it a valuable tool for CR experiments, as most of the gaps are not found in the transmission itself, but in the received data processing and decision-making. For example, to evaluate a given spectrum handover  
Figure 6: Spectrum handover delay caused to an SU. Adapted from the work in [87].  
algorithm, a CR device is not required to transmit wireless data itself. It only needs to sense the environment and decide whether to vacate the channel.  
We choose a Parrot AR.Drone 2.0 [92] UAV to be integrated with the CR platform built for this work. Because Parrot AR.Drone 2.0 is a typical commercial drone widely used for entertainment, it fits the \"keep it simple\" requirement of this testbed, and it is also appropriated to test the CR platform suitability to mini-UAVs. Because the Parrot AR.Drone 2.0 is not open in hardware nor in software (except for an SDK intended for the development of smartphones, smartwatches, or VR glasses applications [93]), it is not possible to make any changes directly to the UAV. Therefore, here we use Parrot simply as the UAV platform; the Raspberry Pi 3 is used as the CR computer component. However, both the CR platform and the Parrot AR.Drone 2.0 run Linux operating systems [93]; therefore, this work results are equally valid not only for Linux-based computer platforms (like the Raspberry Pi 3), but also for open-source/open-hardware Linux-based UAVs. Note that for such UAVs it may be possible to use the same single board as the computational unit of both the CR and the UAV itself.  
Moreover, this UAV provides a USB port on its top. This port can be used as an interface to connect the CR platform to it. Figure 7 shows a picture taken in the laboratory of the Parrot AR.Drone 2.0 without its hull, in which it is possible to see its USB port.  
Because of the low energy supply provided by the Parrot AR.Drone 2.0, it was necessary to efficiently adapt the CR platform. We changed its operational system to Ubuntu Mate, in order to have a better general compatibility with third-party software and more control over unnecessary background processing. It was also integrated with RLTSDR-Scanner, which is an open-source cross platform Python frequency scanning tool for RTL SDR [94].  
Finally, it was possible possible to deploy the CR-based UAV prototype outdoors. Figure 8 shows the prototype developed and deployed in this work. Because of the influence that an indoor environment could cause to radio data collection (for instance, because of walls, other devices, etc.), outdoor data collection is a key factor to determine the quality of the collected data.  
Figure 7: The Parrot AR.Drone 2.0 without its hull, highlighting its USB port.