Android Based Control Softwarefor Small Unmanned AerialVehicles

DOI : 10.17577/IJERTV3IS041240

Download Full-Text PDF Cite this Publication

Text Only Version

Android Based Control Softwarefor Small Unmanned AerialVehicles

Yasenjiang. Aimaiti

1, 2 1, 2 1, 2

, Khalid Munawar , Ubaid M. Al-Saggaf

  1. Center of Excellence in Intelligent Engineering Systems (CEIES), King Abdulaziz University, Jeddah, Saudi Arabia

  2. Electrical and Computer Engineering Department, King Abdulaziz University, Jeddah, Saudi Arabia

    Abstract- GroundControl Station (GCS) is an essential part of the any Unmanned Aircraft Vehicle (UAV) system. In the UAV system the GCSs main tasks are sendingcontrol commands and intelligence-gathering mission real-time data. This paper presents architecture of GCS for android operating system.Whole design process included two main parts. One was preparing the source code with appropriate programming languages. Another was GUI (Graphical User Interface) design. Weselected the Java programming language for coding.GCS communicates with the UAV via UDP connection get mission data and displays itwith the bi-directional processes. The system for the groundstation gives a flexible graphical interface monitoring the real-time status of the UAV machines.

    Keywords-Unmanned Aircraft Vehicle; Ground Control Station; Android mobile operating system.


      Rafael Yanushevsky in his book described the UAV with a short and comprehensive definition. UAVis a space- traversing vehicle that flies without a human crew on board and that can be remotely controlled or can fly autonomously [1].Old military age the [2] UAVs are used for missions that are long, tiring, and dangerous, but frompast few decades there arebig changes thatthe UAVs begun to usenon- military proposes.Currently small types of theUAVs are becoming more widely used in all types of fields, such as agricultural mapping catastrophe monitoring, gathering weather data and so on.In addition, the economics of operation are often to the advantage of the UAV[2].Interest in using UAVs is also growing within the scientific world. Innumerable studies have been done on the control methods, system architecture, and software implementation for UAVs.

      The control station plays a terminal role for end users to monitor and interactions with the UAV machines throughthe wireless communication channels[3].The GCS is the control and communication center of the whole UAV system.

      As is known the Android is name ofmobile operating system based on the Linux kernel, and it designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Currently the android is popular andwidespread used operating system. Design control

      system on portable android devices andcombined it with thesmall UAV machine is great idea all of time that is provide forend users wide operating space and convenient carrying functions.

      Past few years, especiallyafterGoogle released the 2.3 version of android operating system, worldwide numerous software developers turned their attention to the android applicationsdevelopment. Follow this Design tendency somebody tried to developed the traditional PC based GCS on the android platform, and combined it with the android touch screen devises. This types of the design works are mainly used for personal preferences and some of themare applied for privatebusiness.Thiskinds of android GCSs common features are not used in academic research fields and designedto attract customers. At the result, most of the android based GCSs are became more sophisticated but not has real academic values. There are needs to fast prototype flight control system for academic research. For this propose, we deigned simple, powerful and reliable android based ground control software system on android devices.

      The paperorganized as follows:Firstly,the ground control system workflow and limitation factors are discussed. After this section wearguedAndroid based controlsoftware design,briefly indicatedbasic android control software development goals,mythology,and developing environments, alsoGUI design. At the last section we discussed about the UAVs remote client and flight data sending processes, also database and MAVLink (Micro Air Vehicle Link) protocol.


      The software design and development ofGCS gains insufficient attention passed two decades[4].With the differentiation of developing a ground control software in the Windows environment, the android based control software has unique structure. Fig.1, shows main workflows of the android based GCS software, this model mainly described information flows from android devices to UAV and simultaneously UAV to the android ground control station. For acquisition valid flight data from the UAV system, we need two processes: one is transmitting process, namely operator sends control commandsby click the

      android control softwares main command windows. With the special input modularthe commands translate to the machine readable codes and deliver to the MAVlink Command center then through the uplink control to move to the 3DR radios then send to UAV main machine [5].

      Another isreceiving process, in this procedure, the operator acquire multiple types of the data from the UAV main machine by downlink controller. After translator and outputs the flight data display GCSs main display windows.GCS is the media to perform this bi-directional process. And GCS software is the essential element of GCS functions [4].Actual data flow more complicated than shown in the Fig.1.

      Fig.1Overview of theground control system workflow


      Hardware including: android touch screen devices, 3DR radio, OTG (USB On-The-Go) cable and other secondary communication devices. Compared with the tradition big size, PC (private computer)based GCSs, the android GCS have unique advantages-such as mobility, portability and flexibility. Also android application development platforms provided us considerable possibility to design software user interface. Nevertheless, implementing a mini-type of the GCS in the android mobile operating system is not facile task. Because there are so many hardware and software related limitations.

      1. Hardware limitations

        Hardware obstacles including data transformation between the UAV and android devises, battery exhaustion, floodingand small screen size of android devises.

        1. Data transformation:due to android devises hardware restrictions android GCS allows only single, non- back up data communication with UAV. The information could not be shared with other UAVs. The air-ground linksbetween UAV and GCS interchanges large volume ofmulti-type information. It requires high transferring speedand high reliability [5].Generally the android devises designs for entertainment and interacting between people with poor capacity of system hardware. Therefore the data

          link is the one of the major problem that compromised android GCSs functions. Resolving this problem we can utilities change of the data format to XML (Extensible Markup Language) format. It would help us to solving this problem [6].also we can add extra storages to the android devices and extends internal spaces.

        2. Battery exhaustion:during the operation, the battery discharges very quickly. And it kills the smart device and ultimately prevent the operators from controlling the UAV or dissemination of information.

        3. Flooding: the smart device by overloading with numerous types of messages, preventing the soldier from providing or receiving information with the network. Surveillance attacks utilizes smart device resources remotely to monitor communication , allowing the atacker to identify the location of the solider maneuvering the UAV and other soldiers nearby placing them in danger of physical attack[6][7].

        4. Small screen size:mostly screen size of the android devices, such as android smartphone and android tablets manufactures are very small. In generally it arranged from

          3.2 inch to 10.1 inch. Compared with the large type of the GCSs it makes greater difficult to design GUI and operates. Currently some PC maker companies released big screen size desktop computer and PC tablets with the android operating system. Even so, that types of the android devises with big screen size butthem not suitable to uses out door. Solve this problem we consider to selected android tablets with 10.1 inch screen size and bigger.

      2. Software limitations

        The fact is the limitations of small-scale hardware undeniably affects in the UAV relate researchactivities. At the same time design a full functional android application in the software development section existing manynon- ignorable problems. We will mention the three main Vulnerabilities[8].

        1. Platform: Developed our android GCS software we utilized the Googles official android application development platform-SDK (Software Design Kits). The SDKs compiler, tolls and documentations arestill maturing, therefore in that platform designs impeccable and full functionally android GCS software is difficult task[9].

        2. Map: Our android GCS software packaged with Google online map, therefore the Google map needs internet connection. And on-time to displays the UAVs current position information in the android devises main screen. Without the internet connection our GCS not able to displays the UAVs location[10]. Solve this obstacle to utilize the off-line maplooks like better choice. But the off- line maps has disadvantages such as security, reliability and embedded with the android. At the end, selected which type of the map depends on developers demands.

        3. Cybersecurity: Android Software applications can be distributed through Google Play and through third party application marketplaces. Google Android allows anyone to submit apps for download within Google Play without any quality or security testing, which introduces cyber security vulnerabilities easily into the software database and Android

      devices[6].As mentioned previously, most of the UAVs control station design and develops for certain specialtasks. Therefore the GCS softwares security is could be considered and cannot be ignored work.


      1. software requirements

        According to the previous section, there are software and hardware limitation, due to this situation made highly restricted to designs full functionally android GCS software. While the android based UAV ground station software is the primary development goals are as follows:

        • Support for multiple types of UAV machines, also able to controland managedflightdata.

        • Reusable software and hardwarethe software and hardware able to ported with other applications[11].

        • Has a good real-time performance and reliability, the realization of a friendly user interface to facilitate the operation of the user[12].

        • The control software should be work all of the android versions.

      2. development tools

        Currently for developing an android application, we can seek out various types of software development platforms, such as Android studio, android SDK, Android4BV…etc. But consider functionality, accessibility and frequently updates useful features- our best choice is utilizes Googles android application development kite- SDK. The android SDK provided all the necessary tools which are important for developing prefect android application in the direct and successful way.

      3. development mythology

        Our android GCS software developed by theobject- orientate programming techniques and manual codesthat written in the JAVA, XMLandScala programming languages.

        Java is programming languages that class-based, object- oriented and particularly designed for developed client- server web applications. Android application development platform mainly using the Java language. When design full feature android applications without the Java programming languages we difficult to implementation it[13].Android application development platform SDK utilizes XML languages to design Graphical User Interface.

        Scala is one the object-functional programming and scripting language, generally used to design software applications. Our android GCSs a portionmanual codes prepared in the Scala programming language.

      4. User Interface Design and GUIcomponents

      Android development platform SDK provided two types of the user interface design methods. One is XML layout files to design GUI, another one is utilizes the JAVA program code to control the behavior of the components. Android is

      recommended to define the user interface using XML layout file, rather than using JAVA code to develop the user interface.





      +HUD : main = bottom

      -mission planning : Activity = bottom

      +Map : main = textview

      -listview : Mission = spinner

      +Mode : main = bottom

      +Parameteres : main = bottom
















      -power presentage

      -signal level

      -connnection with UAV

      Fig2.Main android elements in GUI

      In the real GUI design process the developer according to the personal knowledge and background can select XML layout design and JAVA coding design. Also we can choose to apply both of the design way in our design tasks. In our GUI design part we applied first way that In the XML layout file is controlled via XML attributes.

      In the XML design pattern, the android SDK provided most of possible tools to design user interface windows.Fig.2 shows the two main android elements in GUI design.

      The main role of ground control stationis to obtain fight data from the UAV machines and send the commands to UAV through wireless communication channels. Therefore design an understandable and realistic user interface is the indispensable task in the control software development. Our user interface window divided many sub-windows. Classifies by the characters there are two types of the windows.One is display windows, another is command windows.

      Display windows is the extremely important section of the android GCS software. It is including Parameters,Map,HUD, Mission planning and Alarm windows.

      • Parameter window responsible to display UAVs main parameters, such as Altitude, longitude, air speed ,ground speed, and so on.

      • Alarm- speak out of the low battery voltage, low RSSI (received signal strength indicator), and low GPS (Global Position System) satellite count and so on.

      • UAV mission planning is essentiall a map-based planning process with a tasking and result in a plan that satisfies the tasking requirements and other mission criteria. The tasking generally requires that certain areas be observed by sensors on- board UAV and an interpretation of the sensor imagery be provided within a specified time frame[14].

      • The Main tasks of the Map window are to reveal the real-time position of the UAV machine on the map. Also, the map window allows the operators to send GPS waypoints to the UAV and it autonomously fly to

        the designated waypoints. For map view we utilized the Googles open source on-line maps. The Google maps supplies the three different map views – normal map view, satellite image view and terrain view, select which one depending on the needs of the developer. Another benefit of using the Google maps is Multiple Destinations, Google maps easily add a new destination to the route with a single click. There for compare with the other open street maps the Google maps are the best choice to observe UAVs current position and display other flight parameters [15].

      • HUD is a head-up display window.

      The Fig.3 and Fig.4 shown Map windowand Head up display window.

      Fig.3 Head up display for android GCS

      Fig.4Google map for android GCS

      The command windows contained mode, settingsand MAVLink windows. This threesections for end users provided many useful functions.

      In the bottom part, we arranged a small window that shows connection status of the UAV machines. We considered direct visibility of the user interfaceand foreasy to operate, the Main activity window divided nine sub- windows, the main graphical layout as shown in Fig.5:

      Fig.5Themain graphical layout of the android Ground Station software


      In the whole control software design process the communication is belongs to the background runningpart. The communication protocol section contained sending and receiving procedures, in the database, we given a short overviews about the MAVLinl open source library.

      1. communication protocol

        Exchanges information between the android based GCS and the UAV, we utilized UDP as a client and server link, also TCP(Transmission Control Protocol) as a client link.UDP protocol, namely the User Datagram Protocol, which requires network application is mainly used to transfer data between computers support. Like with the TCP protocol, UDP protocol IP protocol directly on the top floor[16].The TCP protocol implanted various security features, but the actual implementation process will take up a lot of system overhead. Undoubtedly make a serious impact speed[17]. And in this system there is only onboard wireless embedded computers and computer monitors both network terminal, it does not required security features, simplicity and fast transmit speed advantages make the UDP protocol our first choice[18].UDP does not belongs to connectivity protocols, thus has the advantages that resource consumption is small and fast processing speed, so usually transmission audio, video and data in using UDP is morecommonly, because they occasionally one or two packets lost in time, also won't have much of an impact the result of the receiving.

        The Fig.6describedcommand send process with the switch- break multiple-selection statement diagram. The previous three cases are pertaining to three passible Bluetooth handlerswhich are devise not support, communication disable and no connection.Last three cases are belongs to USB handler and Wireless communication client handlers.

        After selected certain action the UAV machines beginning to receive MAVLink data[19].

        The Fig.7showed Flight data receive process with the switch-break multiple-selection statement diagram. This process through selected a possible procedure the UAV able to send byte array to the ground station.Specificallyat the start the UAV send massages by byte array if it able to register in the client the massage adds to massaged center. Then the servers handler send a status request and next step the massage array removed from the massage center, at the end the massage begun to receive by android devises.



        Device not available

        Not support



        not enable

        Communicati on Disable





        Not connected

        No connection




        Notify connected

        MSG-Device connected



        Notify disconnected

        MSG-Devise disconnected




        Received MAVLink Data






        UAV received DATA

        Fig6.Command send process with the switch-break multiple-selection statement diagram




        Send Byte Array





        Msg_Register_ Client





        serviceHandleStat usRequest



        added database function in our android ground software. Our databases working principle is to store flight data that received from the UAV and compares with the past flight information, at the end displays it in the Android devices main screen. Thus, the selection of a relational database important task in our system[20].

        In order to carry out on-line monitoring for UAV flight condition, offline analysis and network data monitoring module to access of flight data, ground station system received unmanned aerial vehicle (UAV) flight data for storage. Compared with direct to save data in a text file, database application can make the researchers a more effective way to access the flight data[21].

        For data base, we utilized the MAV Link open source library. It isa very lightweight, powerful header-only message library for micro air vehicles. It is mostly used for communication between GCS and UAV, also in the inter- communication of the subsystem of the vehicle. In the GCS software it used to transmit the unmanned vehicles real- time states, such as its GPS location, air speed and ground speed. MAVLink not only more efficient on most of the platforms but also supports widely arrange of aircrafts.


Grand control station is an essential part of the whole UAV system, not only can withstand the high intensity of network data flow, and timely response to the user's operation, and has a good user interface. The android based Ground control software has strong real-time performance, good stability, friendly man-machine interface, extensible ability and can provide enough information for ground control operators.The software using object oriented technology developed, has easy maintenance easy extension, which provides convenience for further upgrade of the software. The android version of the ground station using JAVA and SCALA language compilation, on Google SDK platform development .As long as the android ground control station canbe able to work in theany android smart devices. In the process of the implementation of the project, the software has made full inspection and application to meet the design requirements.



msgCenter.remov e


_ Client




Msg_Connect_D evice

T This project was supported by the NSTIP strategic

technologies program in the Kingdom of Saudi Arabia-

Devise received Flight Data

F project No. (11-SPA2059-03). The anthers also acknowledge with thanks Science and technology Unit, King Abdulaziz University for technical supports.

Fig7.Flightdata receive process with the switch-break multiple-selection statement diagram

  1. Database

In the real-time flight mission, we need to track UAVsmark and analyze the flight in the past and current experimentations[11]. Achieve this propose we required to



  2. K. Richard, INTRUDUCTION TO UNMANNED AIRCRAFT SYSTEMS. 2012 by Taylor & Francis Group, LLC, 2012, pp. 5 17.

  3. M. Dong, B. M. Chen, G. Cai, and K. Peng, Development of a Real-time Onboard and Ground Station Software System for a UAV Helicopter, J. Aerosp. Comput. Information, Commun., vol. 4, no. 8, pp. 933955, Aug. 2007.

  4. Y. Kang and M. Yuan, Software design for mini-type ground control station of UAV, 2009 9th Int. Conf. Electron. Meas. Instruments, pp. 47374740, Aug. 2009.

  5. O. Spinka, O. Holub, and Z. Hanzalek, Low-Cost Reconfigurable Control System for Small UAVs, IEEE Trans. Ind. Electron., vol. 58, no. 3, pp. 880889, Mar. 2011.

  6. K. Mansfield, T. Eveleigh, D. Sc, T. H. H. D. Sc, and S. Sarkani, Control Station Cyber Security Threat Model, pp. 722728, 2013.

  7. B. Chojar, D. Lal, K. Gandhi, K. Salariya, and A. T. D.

    Assumptions, Study of Smartphone Attacks and Defenses, vol. 2, no. 4, pp. 10181022, 2013.

  8. M. Jovanovic, D. Starcevic, and Z. Jovanovic, Improving Design of Ground Control Station for Unmanned Aerial Vehicle:

    Borrowing from Design Patterns, 2010 36th EUROMICRO Conf. Softw. Eng. Adv. Appl., pp. 6573, Sep. 2010.

  9. F. Segor, A. Bürkle, T. Partmann, and R. Schönbein, Mobile Ground Control Station for Local Surveillance, 2010 Fifth Int. Conf. Syst., pp. 152157, Apr. 2010.

  10. X. Dong, M. Dong, B. Wang, B. M. Chen, and T. H. Lee, A comprehensive software system architecture for unmanned aerial vehicles, Proc. 2011 IEEE Int. Conf. Serv. Oper. Logist. Informatics, pp. 595600, Jul. 2011.

  11. Z. Deng, C. Ma, and M. Zhu, A reconfigurable flight control system architecture for Small Unmanned Aerial Vehicles, 2012 IEEE Int. Syst. Conf. SysCon 2012, pp. 14, Mar. 2012.



  13. A. Ceruti, F. De Crescenzio, F. Flamigni, F. Persiani, K. C. Uav,


  14. A. Ajami, J. Balmat, J. Gauthier, and T. Maillot, Path Planning and Ground Control Station Simulator for UAV, 2013.

  15. J. H. and M. Hromcik, Low-cost Modular Unmanned Aerial Vehicle Control Unit, pp. 113, 2012.

  16. F. U. Xu, Z. Zhaoying, X. Wei, and G. U. O. Qi, MEMS-Based Low-Cost Flight Control System for Small UAVs, vol. 13, no. 5, pp. 614618, 2008.

  17. C. Augeri, D. Neebel, L. Baird, and A. De Freitas, UAV Communications: Integrating a Real-World Scenario with Computer Architecture, pp. 1520, 2005.

  18. C. Bin XU Lei, PEI Hai-long, LIU Xin, design of Ground Control Station for Mini Unmanned Aerocraft Vehicle.

  19. L. I. Nan and G. E. Weili, Design of Ground Station of Navigation Vision System f or Mini 2 UAV, pp. 20082010, 2010.

  20. T. D. Do, J. Kwon, and C. Moon, Ground System Software for Unmanned Aerial Vehicles on Android Device, pp. 635640, 2013.

  21. G. C. Station, Q. Unmanned, A. Vehicle, and J. Programming, Development of the Ground Control Station for a Quadrotor Unmanned Aerial Vehicle Based on Java Programming, pp. 50025007, 2012.

Leave a Reply