1 Computer Vision based guidance in UAVs: Software Engineering challenges 1 Shubha Bhat, 2 Vindhya Malagi, 3 Krishnan Rangarajan, 4 Ramesh Babu D.R Department of Computer Science and Engineering Dayananda Sagar College of Engineering, Bangalore, INDIA 1 Shubha22@gmail.com, 2 vindhyapm@gmail.com, 3 krishnanr1234@gmail.com, 4 bobrammysore@gmail.com Abstract In this paper we discuss the key functional and quality attribute requirements and the associated design challenges in engineering a computer vision guided UAV (Unmanned Aerial Vehicle) system. The non-functional requirements of the UAV system as a whole are identified and mapped to the computer vision subsystem which aids in the navigation process. Expectations on availability, reli- ability, performance, security and evolution of the vision sub- system are discussed and the related software design challenges elaborated. A Software architecture for the vision subsystem guided by these considerations is proposed. This study was undertaken to enable a good architecture and design of the vision subsystem in a computer vision guided UAV system. Keywords: Vision subsystem, design challenges, reliability Introduction An Unmanned Aerial Vehicle (UAV) is an aircraft that flies with- out a human crew. In particular, a UAV is a reusable vehicle capa- ble of being controlled, sustained and powered by a jet or reciprocating engine. The capabilities of UAV [1] in the modern world today has led to its usage for a variety of applications ranging from surveillance [5] and monitoring systems in the civilian areas to high-end War field defense systems across borders and enemy locations. Although the requirements for UAVs change based on the mission to be carried, the expectations (quality attributes) of any of these vehicles are more or less the same. Some of the functional requirements essential for defense applica- tions in a broader sense are: efficient surveillance and reconnais- sance missions, day and night operation under wide range of environmental conditions, real-time data processing which can either be done completely on-board or at the ground station with limited on-board processing. These requirements help us in defin- ing the system specifications in general and in particular each of the sub-systems. The objective of this work is two fold: To understand the non-functional requirements of the UAV system as a whole and map it to the computer vision subsys- tem which is responsible for processing images completely on- board to aid in navigation. Identify the design challenges and analyze the possible design decisions which help achieve these non functional require- ments or quality goals. Understanding and focusing on the non-functional requirements, is a key to customer satisfaction [6]. UAVs can be classified [3] into different categories as depicted in Figure 1. Figure 1: UAV Classification Apart from the above classification, UAVs can also be classified based on the performance characteristics, viz weight, endurance and range, maximum altitude, wing loading, engine type, power/thrust loading. Performance, availability, security, reliability, longer life span and cost effectiveness are some of the basic quality attributes that any UAV should have. In addition, some of the essential operational parameters to be considered to carry out a UAV flight are endurance, altitude, speed, heading angle and distance to be covered. Each of these parameters is explained briefly for the typical UAV flight conditions: Endurance It is an important parameter that defines the coverage of the UAV from take-off to landing at a specified speed, typical operating altitude and sensor properties for a pre-defined path. Endurance mainly depends on air vehicle aerodynamic design and fuel amount carried. Total endurance includes the total time from take-off to landing and is mission dependent. Typically for a long endurance UAVs, it may be over 2-3 hours while for short endurance systems, it is typically within 30 minutes to 1 hour. Flying Altitude It can be defined as the altitude where the specified payload per- formance (for e.g., in terms of capturing a reasonably good quality image at a given altitude) and coverage can be obtained with the desired mode of operation. Higher the altitude better is the cover- age. Again, the altitude also depends on the air traffic control regu- lations. Typically the UAVs fly as high as 5-6 Kms and the as low as few meters from the ground. Flying Speed The speed of the vehicle depends on engine power and again the aerodynamic design of the vehicle. Generally speed requirements are driven by the mission in hand. Typical speeds range from 20 m/s to 150 m/s.