Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Ravi Kumar S, Srihith D. L. N, Jayanth Kumar K, Bhaskar Pradeep S
DOI Link: https://doi.org/10.22214/ijraset.2023.52561
Certificate: View Certificate
Larger drones, such as those used for commercial operations, are much less likely to have obstacle avoidance features because they fly higher in the sky, where it is less likely that they will encounter static obstacles and more likely that they will encounter dynamic obstacles while also flying faster; the market’s offerings for static obstacle avoidance do not meet those needs. Since smaller drones are typically used for hobbyists and smaller-scale operations like thermal inspection, hazard detection inside of warehouses, and up-close inspection of wind turbines and power lines, obstacle avoidance is typically limited to these types of smaller drones. The performance requirements for Detect-and-Avoid capabilities for dynamic objects vary since infrastructure masking can occasionally reduce risks. For instance, you have an additional layer of protection when flying near structures or in a deep valley because manned aviation is less likely to be using the same airspace. Similar to this, infrastructure shadowing involves flying 50 feet or less away from a power line that is exactly 50 feet above the structure being “shadowed.” Given that you are more unlikely to come across any manned aircraft, this mitigation level is higher than just masking.
I. INTRODUCTION
The application of obstacle avoidance in UAVs is highly needed nowadays since it grows rapidly. The avoidance system consists of two main parts which consist of detecting obstacles within a safe operating range and determining a safe flight path in avoiding the obstacle. Several flight controllers have been used widely but none of them include an obstacle avoidance system. We discussed obstacle detection using ultrasonic sensors and their implementation in quadcopters. The detected obstacle will be used as data to construct an ellipsoid-restricted zone to determine the avoidance path. It uses an optimal path between the heading angle, flight velocity, and clearance. The method is in default used for a fixed-wing type of aircraft. Since this research uses a quadcopter, some adjustment to the flight maneuver and a simpler contact point algorithm is used. The system will combine available flight controllers with a proposed avoidance method as a proof of concept. A quadcopter as a UAV is integrated with the system which consists of several modes in order to do avoidance. As in the previous study, obstacles will be determined using an ultrasonic sensor and servo. As result, the quadcopter will move according to its mode and successfully avoid obstacles.
II. LITERATURE REVIEW
Obstacle and collision avoidance for drones has been an active research area in recent years, as the proliferation of drones has led to a growing need for safety in their operation. the literature on obstacle and collision avoidance in drones shows that there are many different approaches that can be used to improve safety during drone operations. Sensor-based and vision-based approaches are common, while machine learning and map-based approaches offer promising results. Hybrid approaches that combine multiple techniques have the potential to provide even better performance. Arne Devos, Emad Ebeid, Poramate Manoonpong presented a paper in which the preliminary results of the performance of the adaptive obstacle avoidance control in the simulation are shown. A V-REP simulation was used to simulate a drone and the controller was implemented in C++ [1]. The authors Jawad N. Yasin, Sherif A. S. Mohamed presented a comprehensive literature review on collision avoidance systems and strategies used for unmanned vehicles [2]. Meng Guanglei, Pan Haibing presented a paper that puts forward a method of using the ultrasonic sensor assisted auxiliary barrier. According to the acoustic reverberation time, the flight controllers calculate the distance between the quad-rotor and the obstacles, and control the quad-rotor making slow motion. The obstacle appears in the positive direction and the side direction is analyzed [3]. Marcin Odelga, Paolo Stegagno and Heinrich H. Bülthoff in their paper presented a collision-free indoor navigation algorithm for teleoperated multirotor Unmanned Aerial Vehicles (UAVs). Assuming an obstacle rich environment, the algorithm keeps track of detected obstacles in the local surroundings of the robot. The detection part of the algorithm is based on measurements from an RGB-D camera and a Bin-Occupancy filter capable of tracking an unspecified number of targets [4].
III. REQUIREMENTS
A. Flight Controller (KK2.1.5)
The KK 2.1.5 is a popular flight controller used in multirotor aircraft such as quadcopters, tricopters, and hexacopters. It is an older version of the KK board, but it is still widely used because of its simplicity and ease of use. The KK 2.1.5 flight controller is a printed circuit board (PCB) that is mounted onto a multirotor aircraft, typically a quadcopter. It measures 50mm x 50mm and contains various components that enable it to control the aircraft's flight. Atmel AVR Mega644PA microcontroller: This microcontroller is the brain of the flight controller and controls the various sensors and motors. It runs at a clock speed of 16MHz and has 64KB of flash memory. The attitude and movement of the aircraft are detected using accelerometers and gyroscopes. The gyroscopes measure angular velocity, whereas the accelerometers measure linear acceleration. The flight controller can detect the aircraft's attitude and make adjustments to keep it steady by combining the data from the two sensors.
B. Arduino Nano (Flight Controller Board)
The microcontroller in a quadcopter is responsible for controlling the speed and direction of the four motors that drive the rotors. It receives input from sensors such as accelerometers, gyroscopes, and barometers, which allow it to determine the orientation and position of the quadcopter in the air. Based on the sensor readings, the microcontroller uses a set of algorithms to calculate the necessary adjustments to the motor speeds, allowing the quadcopter to maintain stability and maneuverability in the air. These algorithms may include PID (proportional-integral-derivative) control, which is commonly used in quadcopter flight control. In addition to controlling the motors, the microcontroller also communicates with other components of the quadcopter, such as the radio receiver, which allows the quadcopter to be remotely controlled by a human operator. Overall, the microcontroller is a critical component of a quadcopter, allowing it to maintain stability and maneuverability in flight while also allowing it to be remotely controlled.
C. Ultrasonic Sensor (HC-SR04)
An ultrasonic sensor is a commonly used technology for obstacle avoidance systems. It works by emitting high-frequency sound waves, which bounce off objects in their path and return to sensor. By measuring the time taken for the sound waves to travel to the object and back, the sensor can determine the distance between the object and the sensor. Ultrasonic sensors are often used in robotics and automation applications, such as self-driving cars, to detect obstacles and avoid collisions. They are also used in home security systems to detect movement and trigger alarms. To use an ultrasonic sensor for obstacle avoidance, you would typically mount the sensor on a robot or vehicle and program it to detect objects within a certain distance. If an object is detected, the robot can then adjust its path or stop moving to avoid a collision. Ultrasonic sensors have some limitations, such as their accuracy being affected by the shape and size of the object being detected, as well as the environmental conditions in which they are used. However, they are still a reliable and cost-effective option for many obstacle avoidance applications.
D. Arduino IDE
The Arduino IDE is a cross-platform software tool that runs on Windows, macOS, and Linux operating systems. It's designed to be easy to use for people who are new to programming and electronics, but it's also powerful enough for advanced users who want to create complex projects. The main feature of the Arduino IDE is the code editor, which allows users to write and edit code in the C/C++ programming language. The editor includes helpful features such as syntax highlighting, auto-indentation, and auto-completion. It also has a built-in serial monitor, which allows users to send and receive data to and from the microcontroller in real-time. The IDE uses a compiler to convert the code written in the editor into machine code that can be executed by the microcontroller.
The compiler produces a binary file that contains the program code and any libraries used by the program. The IDE also includes a bootloader uploader, which allows users to upload the binary file to the microcontroller via a USB cable. The Arduino IDE's interoperability with a variety of Arduino boards is one of its benefits. The IDE comes with pre-built libraries that make it simple to interact with these boards, and each board has a unique set of pins and capabilities. Additionally, there is a sizable and vibrant online community of Arduino IDE users who post their code and projects. This makes it simple to get inspired and pick up knowledge from others. Furthermore, the IDE supports third-party libraries, allowing users to use pre-existing libraries to enhance the functionality of their projects.
IV. DESIGN
The potential field algorithm is a common approach used for drone obstacle avoidance. It works by creating a virtual "force field" around the drone, where the drone is repelled from obstacles and attracted towards its destination. The algorithm calculates the potential field using the drone's sensors and the desired destination, and then uses the field to adjust the drone's velocity and direction.
Initialize drone position and destination: This step sets the initial position of the drone and the desired destination.
Obstacle detection: In this step, the drone's sensors such as cameras, LIDAR, or sonar are used to detect obstacles in the drone's path.
Calculate repulsive and attractive forces: Using the sensor data, the algorithm calculates the repulsive force of each detected obstacle on the drone. The repulsive force is proportional to the drone's distance and orientation to the obstacle. Additionally, the algorithm calculates the attractive force of the destination on the drone. The attractive force is proportional to the distance and orientation to the destination.
Combine forces to create a resultant force vector: The repulsive and attractive forces are combined to create a resultant force vector. The resultant force vector represents the net force acting on the drone.
Calculate new velocity and direction: Based on the resultant force vector, the algorithm calculates the drone's new velocity and direction. This is typically done using a control system such as a PID controller, which adjusts the drone's speed and direction based on the net force acting on the drone.
Move drone to new position: The drone is moved to its new position based on the new velocity and direction.
Check if reached destination: Finally, the algorithm checks if the drone has reached its destination. If not, the process repeats from step 2.
The potential field algorithm creates a virtual force field around the drone that allows it to navigate around obstacles and reach its destination safely. This force field is generated by calculating the attractive and repulsive forces acting on the drone. The attractive force is generated by the desired destination and pulls the drone towards it.
The repulsive force, on the other hand, is generated by the obstacles detected by the drone's sensors and pushes the drone away from them. The repulsive force is proportional to the distance and orientation of the obstacle relative to the drone. The attractive and repulsive forces are combined to create a resultant force vector that represents the net force acting on the drone. This force vector is then used to calculate the drone's new velocity and direction. A control system such as a PID controller is used to adjust the drone's speed and direction based on the net force acting on the drone. By adjusting the drone's flight path in real-time based on the sensor data, the potential field algorithm allows for fast and agile obstacle avoidance. The algorithm enables the drone to navigate through complex environments while avoiding obstacles, allowing it to reach its destination safely and efficiently. This makes it a popular algorithm for drone obstacle avoidance in a wide range of applications, from delivery drones to aerial mapping and surveying.
The process of a drone flight between waypoints involves several steps, some of which are listed below:
Navigation: The drone needs to navigate from one waypoint to the next using its onboard sensors and algorithms. This can involve calculating the distance and direction to the next waypoint and adjusting the drone's position and orientation accordingly.
Control: The drone's flight path needs to be controlled to ensure that it remains on course and within the designated airspace. This can involve adjusting the drone's altitude, speed, and heading to stay on track and avoid obstacles.
Communication: The drone needs to communicate with the ground control station to receive instructions and report its status. This can involve transmitting data such as GPS coordinates, battery levels, and sensor readings back to the ground station.
Safety: The drone must be operated safely and in compliance with all the applicable regulations and guidelines. This can involve monitoring the drone's performance and taking action to mitigate any risks or hazards that may arise during the flight.
Autonomy: Depending on the level of autonomy of the drone, it may be able to perform some or all of these tasks automatically, using onboard algorithms and decision-making processes. This can allow the drone to fly more efficiently and safely, and reduce the workload on the operator.
A. Obstacle detection:
Echolocation, which is how bats use to see in the dark, is the fundamental idea behind ultrasonic sensors. Ultrasonic sensors typically produce sound waves between 20 and 200 kHz, which are too high for humans to hear. Until they come into contact with an obstruction, the sound waves travel through the air before being reflected back to the sensor. The distance between the drone and the obstacle can be determined by timing how long it takes for sound waves to reach it and return to the sensor. This is done using the formula:
distance = speed of sound × time / 2
where the speed of sound is the speed at which sound travels through the medium (in this case, air), and the factor of 2 is used because the sound waves travel to the obstacle and back to the sensor. Ultrasonic sensors are effective for detecting obstacles that are within a few meters of the drone. However, they have some limitations. For example, they may not be effective in detecting objects that are too small or too far away, and they may not work well in noisy or windy environments.
In addition, they may not be able to detect transparent or reflective objects, such as glass or water. To overcome these limitations, drones may use a combination of different sensors, such as ultrasonic sensors, LiDAR, and cameras, to provide a more complete picture of the environment and improve obstacle detection and avoidance capabilities.
B. Obstacle Position Calculation
In a drone, ultrasonic sensors can be used to detect obstacles in the flight path and calculate their position relative to the drone. To do this, multiple sensors are typically used to provide more accurate reading of the obstacle's position. Here is how the obstacle position calculation using ultrasonic sensors can be done in a drone:
Emit a sound wave: The ultrasonic sensor on the drone emits a sound wave, which travels through the air.
Detect the reflected wave: If the sound wave hits an obstacle, it reflects back to the sensor. The sensor detects this reflected wave and measures the time it took for the wave to travel to the obstacle and back.
Repeat the process: The drone can repeat this process with multiple sensors to detect obstacles from different angles and improve the accuracy of the position calculation.
Triangulation: By using the distance measurements from multiple sensors, the drone can use triangulation to determine the position of the obstacle in three-dimensional space. This can be done using mathematical algorithms to calculate the intersection of the distance measurements. Overall, using multiple ultrasonic sensors and triangulation can provide an accurate calculation of an obstacle's position relative to the drone, allowing it to take appropriate action to avoid a collision.
C. Following scheduled trajectory:
A drone must be designed to take the right action to avoid an obstacle and continue on its intended flight path if it finds one in its planned trajectory. There are several ways to accomplish this, however the general stages a drone could take are as follows:
Detect the obstacle: The drone's sensors play a crucial role in detecting obstacles in its path. These sensors could include cameras, lidar, sonar, or infrared sensors. The sensors detect the obstacle and send the data to the drone's onboard computer for analysis.
Evaluate the obstacle: Once the drone detects the obstacle, it must determine whether the obstacle poses a threat and decide on the best course of action. This decision could be based on a number of factors, including the size, shape, distance, and speed of the obstacle, as well as the drone's speed and altitude.
Adjust the trajectory: If the drone determines that the obstacle poses a threat, it must adjust its trajectory to avoid the obstacle. The drone could change altitude, speed, or direction to avoid the obstacle. For example, if the obstacle is a tall building, the drone may increase its altitude to fly over it. If the obstacle is a tree, the drone may adjust its direction to fly around it.
Avoid the obstacle: Once the drone has determined its new trajectory, it must execute it to avoid the obstacle. This could involve making a sharp turn, adjusting altitude, or changing speed. The drone may also need to communicate with other drones or air traffic control to avoid collisions.
Continue the scheduled trajectory: Once the obstacle has been avoided, the drone should resume its scheduled trajectory and continue its mission. The drone's onboard computer may need to recalculate the flight path based on the new obstacle avoidance maneuvers to ensure it still meets the mission objectives.
In order for a drone to perform these steps, it must be equipped with the appropriate sensors and software. Additionally, the drone's programming must be designed to prioritize safety and avoid collisions, while still meeting the mission objectives. This requires careful planning, testing, and ongoing monitoring and updates to ensure the drone is performing optimally.
V. RESULT & DISCUSSION
An ultrasonic sensor works by emitting a high-frequency sound wave, typically in the range of 40 kHz to 200 kHz, which is inaudible to humans. This sound wave travels through the air and reflects off any object it encounters. The sensor then picks up the sound wave that was reflected, and it calculates how long it took for the sound to travel from the sensor to the item and back. The sensor can determine the distance to the item using this time measurement and the speed of sound in air, which is roughly 340 metres per second. This distance calculation is typically performed by the flight controller, which receives the distance data from the sensor and uses it to determine the drone's proximity to any nearby objects. In an obstacle avoiding drone, the ultrasonic sensor is mounted on the drone's body or underneath the drone, facing downwards. As the drone flies, the ultrasonic sensor emits sound waves and measures the distance to any objects below it. The flight controller then uses this distance data to adjust the drone's altitude and horizontal movement to avoid any obstacles in its path.
In general, an ultrasonic sensor can provide accurate distance measurements within a limited range, typically a few meters. Therefore, the drone's ability to avoid obstacles would depend on the sensor's accuracy, the drone's speed and maneuverability, and the environment in which it is operating.
To evaluate the performance of the obstacle-avoiding drone, we measured metrics such as the number of obstacles successfully avoided, the distance at which the drone detects obstacles, the time taken to respond to obstacles, and the overall reliability of the system. Based on these results, few adjustments have been made to the drone’s design.
In numerous cases, the presented method is capable of autonomous flight and collision avoidance. By controlling its distance from objects like walls and people, this system can avoid colliding with them. The proposed system combines several low-cost sensors from several technologies (infrared, ultrasonic), and is both more effective and more affordable than other approaches. In comparison to other approaches, the one that is being presented is much simpler to implement in terms of mathematical complexity, keeps the computational load low, and lowers development and maintenance costs. This technique can identify frontal obstructions and direct the quadcopter in the right direction. To demonstrate the system\\\'s capacity to avoid frontal obstacles with a minimal level of error, it will be tested outdoors with restricted computational resources. An obstacle and collision avoiding drone using ultrasonic sensors is a valuable technological innovation that has the potential to revolutionize the field of unmanned aerial vehicles (UAVs). The use of ultrasonic sensors in drones can help to increase their safety and efficiency, making them more reliable for a variety of applications. The primary advantage of using ultrasonic sensors in drones is that they provide accurate distance measurements, enabling the drone to detect and avoid obstacles in its flight path. Additionally, ultrasonic sensors are lightweight, affordable, and can be easily integrated into a drone\\\'s design. However, ultrasonic sensors do have limitations, such as their short range and susceptibility to interference from other sources of sound. As a result, the effectiveness of an obstacle and collision avoiding drone using ultrasonic sensors may be limited in certain scenarios. As technology continues to evolve, there is significant potential for further development of obstacle and collision avoiding drones using ultrasonic sensors.
[1] Rahman, M. F., Wisnu, Sasongko, R.A. Obstacle’s Contour Detection using Ultrasonic Sensors. Advance in Aerospace Science and Technology in Indonesia, Vol. 1. [2] Borenstein, J. and Koren, Y. Obstacle Avoidance with Ultrasonic Sensors, IEEE J., 1998, pp.213-218. [3] Rawikara, S. S. Desain dan Simulasi Sistem Obstacle Avoidance untuk Misi Waypoint Following pada Pesawat Udara Nirawak, Tugas Akhir Program Studi Aeronautika dan Astronautika FTMD ITB, 2013. [4] Sasongko, R. A., Sembiring, J. Muhammad, H. Design of Obstacle Avoidance Algorithm for Waypoint Following Control System, Regional Conference in Mechanical and Aerospace Technology, Manila, Philippines, 2011. [5] Sasongko, R. A., Rawikara, S. S., Tampubolon, H. J., UAV Obstacle Avoidance Algorithm Based on Ellipsoid Geometry, Journal of Intelligent and Robotic System, 2017. [6] HCSR04 Ultrasonic Sensor by Elijah J. Morgan Nov. 16 2014
Copyright © 2023 Ravi Kumar S, Srihith D. L. N, Jayanth Kumar K, Bhaskar Pradeep S. 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.
Paper Id : IJRASET52561
Publish Date : 2023-05-19
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here