Authors: Akash Soni, Dr. M N Nachappa
Certificate: View Certificate
Unmanned Aerial Vehicles or UAVs are an amazing piece of machinery that have proven their usefulness in various industries like construction, military, logistics, filmmaking, etc. They’re either operated remotely by a human controller from the ground or have automated capabilities to control its own flight. But due to several technological and environmental restrictions there are many models that can guarantee complete autonomous behavior of the drone. For being truly autonomous, UAVs will need to get far better at sensing its surroundings and obstacles to decide its own path and react in time to avoid collisions. This project specifically aims at enhancing the drones used in the tourism sector for the betterment of traveling experience of people by automating the process of capturing their experience along with autonomous flight capabilities. ML enabled cinematography drones to tackle the gap in the market where good camera drones are unavailable at a lower price point with an added benefit of hands-free automated flight patterns to capture cinematic shots. We have tried to achieve this milestone by using sensors that can detect the surrounding obstacles in real-time and manipulate its flight path to capture cinematic shots of the target object. Through the project we’re also automating various shots like hover, 360 degree view, follow at focus, etc that the drone will include into its flight path on the go. Operating an unmanned flying machine is very challenging especially when you’re flying the drone out of your line of sight and detecting objects using just one FPV camera or monitoring several cameras at the same time is not humanly possible. Hence, through this project we’re not only allowing travellers to enjoy their journey but also take videos of places they can’t reach without having to worry about losing or crashing their drones. There can be further research on this flying model to inculcate it for various industries as the flying pattern and requirement changes in each sector.
The rise of Machine Learning has led to great advancements in the field of automation across all domains of computer applications, especially vehicular automation. There are numerous research activities ongoing in the field of Autonomous Navigation of UAVs which has achieved various milestones in the last decade or so with drones rapidly moving towards achieving complete autonomy.
However, where there has been significant visible growth in the area, the main focus of these research projects are binding to specific tasks like path finding, obstacle detection and avoidance. The contributions of these systems to the overall autonomous development of a particular UAV system is not assessed, hence, a detailed study is required that finds the implications of inculcating all the technological advancements when applied to a single piece of machinery.
With recent developments in the field related to hardware and software components, Machine Learning and Deep Learning has advanced a lot with numerous papers published involving its application to autonomous flight. Various advancements like precision GPS,image processing, lidar and computer vision have projected that the drones will be capable of achieving autonomy in the upcoming years, but these solutions have a very high cost of implementation, are not robust and sometimes require important subsystems to be present for optimal operation.
The focus of this paper is to perform an in-depth analysis of various published papers that utilize Deep Learning or similar learning-based solutions as a basis for implementation of navigation tasks towards drone autonomy.
II. LEGAL STUDY ABOUT DRONES IN INDIA
Based on my research and interpretation of the laws, here are the most important rules to know for flying a drone in India.
A. Drone Categories in India
Registration is required for all but the Nano category.
B. Required Drone Equipment in India
Also worth noting is that India has specific requirements regarding the types of features a drone must have to be flown in India (excluding those in the Nano category). These mandatory requirements include:
C. India’s No Permission, No Takeoff Policy
Before every single flight, drone pilots are required to request permission to fly via a mobile app, which will automatically process the request and grant or reject it. India is calling their system “No Permission, No Takeoff” (NPNT). If a drone pilot tries to fly without receiving permission from the Digital Sky Platform, he or she will simply not be able to take off. All drone operators will register their drone and request permission to fly for each flight through India’s Digital Sky Platform. The Digital Sky Platform and further details will be available on the DGCA website from December 1, 2018.
III. SYSTEM ANALYSIS
Our work primarily targets quadcopters; henceforth, we will refer to these systems as UAVs for brevity. This section provides a background on the critical components in a UAV system.
A. UAV Components
Autonomous UAVs typically have three key components as shown in Fig 2 namely rotors, sensors, and an onboard computing platform. Rotors determine the thrust a UAV can generate. The sensor allows the UAV to sense the environment. A common type of sensor used in UAV is a camera. The computer executes the autonomy algorithm based on sensor data. The physical size of a UAV plays an important role in the selection of the components. Also, the size of the UAV imposes constraints on the maximum weight of each component. For instance, a bigger UAV will have the capability to have multiple sensors and a powerful onboard computing platform. In contrast, a smaller UAV will have limited sensor and computing capabilities.
B. Size, Weight and Power Constraints
The flight time and energy available to carry out missions can vary drastically based on the UAVs size, as shown in Figure 4(c). The battery capacity and its endurance (flight time) are commensurate with the size of the UAV. For instance, a mini-UAV (e.g., Asctec Pelican) frame size is typically in the order of 350 mm and higher and has a battery with a power rating excess of 3830 mAh. In contrast, nano-UAVs (e.g., Bitcraze CrazyFlie) have the frame size, around 7mm or less, and have a battery with 240 mAh or less. As the battery capacity decreases, so does its endurance.
C. Onboard Computer
The SWaP constraints have implications on the onboard computer. Table 4.1 lists a sample of commonly used UAV platforms by roboticists and the onboard computer used in those UAVs. On one extreme we have the nano-UAVs that, due to their size and weight, typically use microcontrollers as the onboard computing platform. For example, Bitcraze CrazyFlie weighs less than 27 g and is powered by an ARM Cortex-M4 microcontroller. On the other end, mini-UAVs, which are bigger and have a higher weight (payload capacity). A mini-UAV typically uses a general-purpose computing platform. For example, the AscTec Pelican, which weighs 1.6 Kgs and is powered by a general-purpose Intel NUC platform.
Table 1 Diversity of UAVs
D. Autonomy Algorithms
The autonomy algorithms process the raw sensor data on the onboard computer to determine the high-level actions that are later translated to the flight controller. These algorithms can be classified into two main categories, namely “Sense-Plan-Act” (SPA) and “End-to-End Learning” (E2E). In SPA, the algorithm is broken into three or more distinct stages, namely the “sensing stage”, the “planning stage”, and the “control stage”. In the sensing stage, the sensor data is used to create a map, then uses the map to determine the best trajectory (e.g., collision-free, lowest energy, etc.). The trajectory information is used by the control stage, which actuates the rotor. In E2E, the methods process the raw input sensor information (such as RGB, Lidar, etc.) and use a neural network model to directly produce output actions. Unlike the SPA paradigm, the end-to-end learning methods do not require maps or separate planning stages. The model can be trained using supervised learning or reinforcement learning.
IV. SYSTEM DESIGN AND ARCHITECTURE
A. Drone Motor
Drones (quadcopters) have two clockwise motors and two counter clockwise motors to equalize the turning force produced by the rotating propellers. This is because of Newton’s Third Law which states that for every action there is an equal and opposite reaction. So having an equal number of motors counteracting each other provides stability through equalizing the turning force. This is why on helicopters there is a tail rotor to counteract the turning force from the single main rotor.
B. Drone Propellers
As drones (quadcopters) have two counter clockwise motors and clockwise motors, it also has two different propellers, one for each motor direction. Each propeller rotates pushing the air down on the airfoil surface creating an area of lower pressure on top of the propeller and an area of higher pressure below it resulting in a difference of pressure thus pushing the drone up.
C. Drone Flight Controller
This is the brain of the drone. The flight controller takes in inputs from the GPS module, compass, obstacle avoidance sensors, and the remote controller and processes it into information that is given out to the ESCs to control the motors. An example of this is seen when a drone is hovering during windy conditions. In the past or if you have a cheap drone it will just drift around as there are no sensors relaying information about the drone’s location and how to correct for these changes. In this drone however, the drone knows its exact location from the GPS and the downward vision sensors, so even if wind is blowing it will stay in its exact place. This is because the flight controller sends the proper instructions to the ESCs and intern the motors to compensate for the wind factor.
D. GPS Module
GPS satellites transmit information about its location to Earth’s surface. These signals travel at the speed of light and are read by the GPS module on the drone. From there, the drone calculates its geolocation based on the amount of time it took for the signals to arrive from the various satellites. These GPS satellites give the drone the ability to understand where it is on Earth and maintain its position.
E. Electronic Speed Controller (ESC)
The ESCs are connected to the power distribution board and the flight controller, as the ESCs receive signals from the flight controller it changes the amount of power given to each of the motors.
F. Power Port Module
This monitors the amount of power coming from the battery and distributes it to the drone’s ESCs and the flight controller.
G. Obstacle Avoidance Sensors
This drone has stereo vision sensors on the front and on the bottom, these sensors work in pairs, just like your eyes. These sensors calculate depth by identifying which image pixels from each sensor correspond to the same point. From this, the drone is able to calculate the distance it is from the object in front of it as the distance between the sensors is constant. In other words, the drone solves the Pythagorean Theorem repeatedly to calculate the distance an object is from the drone.
H. Axis Gimbal
This is how drone footage is kept so still and stabilized. A motor is placed on the 3 different axes around the camera. When the sensors detect motion on any of these axes, the motors counteract the motion to cancel it. This happens instantly as thousands of calculations are executed to provide smooth footage.
I. Drone Camera
A lens opens at the front of the camera and light streams in. An imaging sensor captures the incoming light rays and then processes it into a digital image.
J. Drone Battery
These batteries are ‘intelligent’ meaning that they have overcharge protection, temperature data, charge cycle history, and communicate power output to the drone. This is to ensure the battery is safe to use repeatedly and so that there are no problems during flight.
K. Drone Antennas
Inside the legs of the drone is the transmission system which relays information from the drone to the controller and from the controller to the drone. Also, in the legs of this drone are two compass sensors which relay its direction to the flight controller.
L. Downward Ultrasonic Obstacle Avoidance Sensor
One sensor sends out a high-frequency sound pulse and the other sensor receives the pulse. Based on the amount of time between sending the pulse and receiving the pulse the drone calculates the height of the drone off the ground.
M. Flight LED
These flash various colors to show the user what direction the drone is facing. The two flashing red lights show the front of the drone (the direction the camera is facing). The two green flashing lights are the back of the drone.
These translate the physical movement of the sticks into information that the controller can use to communicate with the drone. The left joystick moves the drone up and down and pan right and pan left. The right joystick moves the drone forward and backward and does drift right and drift left.
O. Main Remote Controller Board
This receives information from the drone about its location, altitude, and what the camera is seeing. It also takes inputs from the joysticks and sends the commands to the flight controller.
P. Main Camera Board
This processes information from the imaging sensor and gimbal motors to ensure stable footage. This board also processes the camera information.
V. DESIGN IMPLEMENTATION
In this chapter we’ll be working on technical designs like mechanical design, electrical and electronic design, communication design, flight mechanism and software; this will help us to build the physical project effortlessly and hasslefree.
A. Working of a Drone
The physical design of a drone can be of 2 types, fixed-wing and rotor drones. For this project we’re using a Quadcopter. A Quadcopter has 4 rotors each fixated on an arm and are equally spaced from the center of mass of the drone. The main body of the quadcopter is called ‘platform’ which houses the flight controller, speed controller, sensors, battery and other components. The drone has 4 rotors – 2 in the front and 2 at the back, this design helps in improving the stability and efficiency of the aircraft.
The frame should be light and rigid to host a battery, four brushless DC motors (BLDC), controller board, four propellers, a video camera and different types of sensors hence we’ll be using a frame made up of carbon fibre.
B. Mechanical Design
The quadcopter design is based on the embedded system platform. It consists of microcontrollers which control the overall performance of quadcopter such as the flying mechanism and live streaming of videos. After the microcontroller ESC is used to control the propeller speed depending on the signal from the computer. The power supply of the quadcopter is achieved by the battery. These requirements make sure that the quadcopter maintains stable flight while moving or hovering.
The selection of BLDC, ESC and the battery vastly depend on the payload. The ESC ratings depend on the ratings of the brushless DC Motors. Selection of BLDC depends on high Kv (rpm/volts) ratings, high thrust, less weight and high efficiency. The rating of the motors depends on the specification of propeller blade and payload. The thrust produced depends on the diameter and the pitch of the propeller.
To understand how the drone stabilizes itself; the IMU Sensors sends input to the control board via microcontroller to stabilize the copter during flight which inturn sends signals to the ESC. These signals instruct the ESC to make fine adjustments to the motors rotational speed.
The control board also receives signals from the radio system receiver and passes these signals to the microcontroller via the aileron, elevator, throttle and rudder inputs. Once this information has been processed the IC will send varying signals to the ESC which will adjust the rotational speed of each motor to induce controlled flight.
C. Electronic Components
Thus, vertical takeoff and vertical landing (VTOL) is possible only when,(a / g) > 1 or in other words, The total thrust to total weight ratio should be greater than 1 so that the quadcopter can accelerate in the upward direction.
2. Propellers: For this project we’ll be using 10x4 inch dual blade propellers as it provides more speed as compared to 3 and above blade propellers. Propeller is a type of fan that converts rotational motion into thrust. Generally, propellers are classified on the basis of their diameter and pitch and are represented in terms of product of diameter and pitch. For e.g. 10 *4.7, 10*4.5, etc. The diameter of the propeller indicates the virtual circle that the prop generates whereas the pitch indicates the amount of travel per single rotation of the propeller.
3. Electronic speed Controllers: Voltage and current output is provided by the microcontroller but this is not sufficient to drive the motors. To drive the motors at specific speed, we require a motor driver to supply a specific amount of voltage and current required by them and this work is done by Electronic speed controller. This also assists in attaining the 6 degrees of freedom by different ESCs supplying different currents.
For this project we’ll be using Hobbywing Skywalker 50A Ubec ESC Module.
4. Battery: Lithium Polymer (Li-Po) batteries are used in quadcopter. These batteries are rechargeable and also have low weight and high voltage capacity as compared to other types of batteries.
A The discharge current of the battery should be higher than the maximum current withdrawn by motors. Where,
If we assume a constant current draw of 20A, then flight time for quadcopter is calculated as follows, Flight time = (Capacity in amperes/Current draw) * 60
5. Flight Controller: To maintain balance, the quadcopter should continuously take measurements from the sensors and make adjustments accordingly to the speed of the rotors to keep the body level. Flying capabilities and cost are the two main factors to be considered while selecting a flight controller.
Flying capabilities consists of following basic factors:
a. Gyro stabilization: It is the ability to keep the copter stable and level under the pilot control.
b. Self-leveling: It is the ability to automatically adjust itself during any orientation so that the copter stays level.
c. Altitude hold: It is the ability to hover at a certain distance from ground without having to manually adjust the throttle.
6. Transmitter and Receiver: The Transmitter and Receiver system allows the Quadcopter to be remotely controlled through a wireless signal. The aircraft controls would typically include throttle, pitch, roll, yaw, and mode settings. The 2.4GHz TX and RX system is used for its better performance, because it will not experience signal conflicts from other RF controllers. Receiver used is having a 6C 2.4 Ghz system which is perfectly bonded with the 2.4Ghz transmitter.
D. Electrical Design
Once we have all our electrical components ready we’ll start with building the electrical connections between them. Before attaching any electronics, you want to complete all soldering on the separated components.
The above diagram shows us how to connect the various components and slots to solder them in. M¡ here represents the ESC that is soldered into the lower deck of the flight controller. The flight controller has internal links between the top-deck and the bottom-deck. The receiver is soldered onto the top deck. Other components like GPS Module, Camera, etc are also attached to the top-deck.
E. Flight Mechanism
A Quadcopter has 4 main controls – Pitch, Throttle, Roll and Yaw. Pitch, Throttle and Roll represent the movement of the drone on z, x and y axes respectively. The rotors alternate in clockwise and anti-clockwise direction to maintain stability.
To use the pitch, the right stick on the transmitter is pushed forwards or backwards. This will cause the drone to tilt, which results in movement forwards or backwards.
Throttle gives the drone propellers power to get airborne. Once in the air, the throttle must be constantly engaged. The left stick on the transmitter should be pushed forward to engage the throttle. Pull it backwards to disengage. The throttle should not be completely disengaged until the drone is a couple of inches from the ground. If it’s disengaged sooner, it could become damaged.
The roll control will move the drone right or left. To use the roll, push the stick on the right of the transmitter either left or right. The reason why it’s called a “roll” is because it actually rolls the drone.
Yaw is what rotates the drone clockwise and counterclockwise.To use the yaw, the left stick is pushed to the left or right.
A drone uses a transmitter which is a hand-held controller that allows you to pilot its flight pattern. By making adjustments with the sticks, a signal is sent to the drone telling it how to perform.
5. Right Stick
6. Left Stick
Throttle and yaw are controlled with the left stick. It will adjust the height at which the drone is flying as well as move it clockwise or counterclockwise.
VI. HARDWARE IMPLEMENTATION
Our work primarily targets quadcopters; henceforth, we will refer to these systems as UAVs for brevity. This section provides a background on the critical components in a UAV system.
A. Building a Prototype
To get the build started we have to first attain the following components.
Firstly, we’ll start with assembling our F450 Quadcopter frame by screwing all four arms onto the lower bed of the frame.
Once our platform is assembled, we’ll start with connecting the motors to the ESC and soldering it onto the lower body. We’ll first take the ESC and snip off the T-plug because we’ll be soldering the ESC onto the lower platform.
After snipping the T-plug we’ll solder it onto the lower platform by matching the positive and negative terminals.
Once all the ESCs are soldered, we'll place the motors on the arms and then connect the motors with the ESC according to the diagram to achieve clockwise and anticlockwise rotation of motors on the appropriate arm.
Now we’ll start with connecting our power module. For this we’ll first snip the XT60 male connector from the power module and solder that end onto the lower platform.
Once all our electrical connections are done we’ll add the battery strap on the lower bed and screw on our top bed.
Now we’ll place the shock absorber on the top bed and secure it with double side tape. This will help in absorbing any extensive vibrations and stabilise the flight controller so the sensors give out readings with less probability of errors. Now we’ll place our APM flight controller on the shock absorber and secure it with tape.
Once done we’ll start connecting the ESC signal wires to the flight controller with the help of the following diagram.
We have to connect the 4 signal wires appropriately to achieve clockwise and counterclockwise rotation in the respective motors. For this we’ll connect it to the output ports of APM labeled as 1, 2, 3 and 4 in QuadX configuration. We’ll also take the power module connector and attach it to the PM port on top of the APM flight controller.
Once our output ports and power module is set up we’ll begin configuring our input ports and receive transmission from a remote controller.
We’ll attach the channel signal wires into the radio receiver. A minimum of 5 channels are required to properly support all functionalities of the drone. Connect the other end of the wires to the APM input ports. Match the numbers on input ports to the labels on the receiver ports for channels.
Now use tape or zip-tie to secure all the loose cables in place and this is how our final product will look like.
Now we’ll begin programming the drone.
B. Initial Programming the Drone
Now we’ll begin programming the drone. Connect your drone to the APM flight controller using the USB-B port and start your Ardupilot Mission Planner. Click on connect to establish connection to your drone from Mission Planner.
Now go to the initial setup tab and click on the wizard on the vertical menu and start configuring the drone. Following is a list of configurations that have to be done.
Now we have completed the initial setup of our quadcopter. Go back to flight data tab and you’ll see that the gyro meter on the top left shows unarmed. To arm your drone, turn on your radio controller and move the left stick to the elevator down and aileron right position and hold until the drone is armed.
Now we’ll install the propellers onto the motors and place our battery pack on the lower bed from the back and secure it in place using the nylon strap belt.
Now our drone is ready to be tested. Once we have achieved a basic prototype that is stable we’ll add all the necessary failsafe. Now our drone is ready to be programmed to fly autonomously. We could also install other components like GPS and IR Sensors to better program the autonomicity of the drone.
The software modifications into Ardupilot Repository are available at
It is true that the drone technology is changing continuously. Some aspects are changing rapidly; others, such as propellers, are changing slowly, if at all. The parts of a drone that have to do with information collection and processing are likely to continue to develop at a brisk pace. The parts that have to deal with the physical movement of a drone through the air are also changing, but not as dramatically. Crucial infection points in the development of drones have come when innovations in microelectronics have enabled innovations in physical movement. This is true of the accelerometer and gyroscope data that make it possible for quadcopters to maintain stability, and of GPS devices that allow drones to navigate from one point in space to another. The intelligence of drones in sensing and avoiding obstacles is improving rapidly. All of this means that the amount of information drones can gather has the capacity to grow more quickly than the human ability to take it all in. For our project to make strides in the modern world it needs to be evolving and adding new modules into it for more autonomous capabilities. Currently the drone might not be able to complete an entire mission on its own but sooner or later it’ll be able to do it. In the future, the drone would be capable of performing infinite numbers of tasks as it’s capable of carrying a payload upto 1Kg and fly for almost 10mins on a full charge. Further modifications can be made to improve the performance of the drone by either upgrading the components or adding new ones. A few modifications which I’d like to do is use a PIXHAWK flight controller and get a 10-channel radio receiver to add multiple flight modes into the firmware.
 Bappy, A.M. Reasad Azim; Md. Asfak-Ur-Rafi; Islam, Md. Saddamul; Sajjad, Ali; Imran, Khan Nafis, “Design and development of unmanned aerial vehicle (Drone) for civil applications”,2015. Available at: http://hdl.handle.net/10361/4203  Thomas Lee, Susan Mckeever, Jane Courtney, “Flying Free: A Research Overview of Deep Learning in Drone Navigation Autonomy”, 2021. Available at: https://doi.org/10.3390/drones5020052  Victor M. Becerra, “Autonomous Control of Unmanned Aerial Vehicles”, 2019. Available at: https://doi.org/10.3390/electronics8040452  Kristina Grifantini, “How to Make UAVs Fully Autonomous”, 2009. Available at: https://www.technologyreview.com/2009/07/15/211604/how-to-make-uavs-fully-autonomous-2/  Srivatsan Krishnan, Zishen Wan, “Roofline Model for UAVs:A Bottleneck Analysis Tool for Designing Compute Systems for Autonomous Drones”, 2021. Available at: https://arxiv.org/abs/2111.03792  Dronefly, “Anatomy of A Drone - What\'s inside a DJI Phantom Drone”, 2016. Available at: https://www.dronefly.com/the-anatomy-of-a-drone  https://www.dji.com/newsroom/news/inside-a-drone-esc  https://www.ansys.com/en-in/blog/challenges-developing-fully-autonomous-drone-technology  https://www.mydronelab.com/blog/how-to-build-a-drone.html  Roofline Model for UAVs:A Bottleneck Analysis Tool for Designing Compute Systems for Autonomous Drones A research paper by Srivatsan Krishnan, Zishen Wan submitted to Harvard University.  Anatomy of A Drone - What\'s inside a DJI Phantom Drone. An article published on www.dronefly.com  www.dji.com  www.ansys.com  www.rcgeeks.co.uk  www.mydronelab.com
Copyright © 2022 Akash Soni, Dr. M N Nachappa. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.