Trang 1 MINISTRY OF EDUCATION AND TRAINING Trang 2 HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATION PROJECT LÊ THÀNH ĐẠT - 17151009
INTRODUCTION
Proposal
Unmanned Aerial Vehicles (UAVs), commonly known as drones, are aircraft operated without a pilot onboard They can be remotely controlled or function autonomously through pre-programmed instructions or artificial intelligence Available in various sizes, from small handheld models to large aircraft, UAVs are equipped with diverse sensors, cameras, and payloads tailored to specific applications Their popularity has surged across multiple fields due to their versatility, being utilized for military reconnaissance, aerial photography, agriculture, disaster response, environmental monitoring, scientific research, and package delivery The advancement of UAV technology has made aerial operations more accessible and cost-effective, unlocking new opportunities in numerous industries.
Drones, or UAVs, are essential tools that enhance efficiency and safety while enabling precise data collection across various industries Their unique advantages make them superior to traditional methods in fields such as agriculture, infrastructure inspection, logistics, and scientific research.
Figure 1 The global consumer drone market from 2020 to 2030 [1]
Figure 2 Research on evolving of UAVs [2]
Problem statement
Drones are revolutionizing navigation research and development by providing advancements in Autonomous Navigation, Sensor Fusion, and Perception They enhance Mapping and Localization capabilities, enable Swarm Navigation, and improve Precision Landing and Docking Additionally, drones facilitate Collaborative Navigation, Adaptive Navigation, and sophisticated Path Planning, opening up new opportunities in the field.
Autonomous navigation significantly enhances drone operations by increasing efficiency through reduced manual control and allowing independent flight along pre-programmed paths This leads to higher productivity and cost savings in manpower and resources Utilizing advanced sensors, GPS, and algorithms, these systems ensure precise navigation, making them ideal for applications like aerial surveying and inspection Moreover, autonomous navigation minimizes human error, improves operational safety, and enables drones to adapt to dynamic conditions and mission needs It also supports longer missions, conserving energy and maximizing endurance Additionally, it promotes the coordination of multiple drones in swarms, improving mission capabilities and facilitating the coverage of extensive areas.
Autonomously navigating drones significantly enhance efficiency, safety, and versatility across diverse industries These technological innovations enable the seamless incorporation of drones into various sectors, leading to improved data collection, increased operational capabilities, and advancements in self-governing systems.
Today, while drones are readily available for purchase, many are rigid and unprogrammable, making it challenging for researchers to tailor hardware and software for specific tasks Although there are programmable drones on the market, their high cost and fixed hardware limit accessibility To address this issue, numerous organizations have emerged, offering open-source firmware and resources for hardware and software development This initiative allows researchers and developers to access affordable options, enabling them to customize drones for various applications, facilitating data analysis and collection, and promoting connectivity across multiple platforms.
Based on the thesis statements considered, the project applied available open-source for customized and designed autonomous navigation and control systems for UAV outdoor environments.
Objectives
Design a UAV hardware that included an autonomous navigation feature that can operate in outdoor environments
Design a base structure for researchers and developers for future development
Performed simulation in real-time location and GUI for user interaction.
Project scopes and limitations
Drones face limitations in flight time and range due to battery and hardware constraints, which can restrict data collection and monitoring duration Consequently, researchers need to exercise caution and strategically plan their operations to effectively manage these limitations.
Research methods
The project is approached, based on the following methods:
● Document study method that is relevant to various topics such as the theory of object-oriented programming
● Have a foundation in ROS and Unity
● Experimental method for constructing electronic and mechanical, computing and programing.
Thesis summary
This thesis is contributed by the following chapters
Chapter 1: INTRODUCTION: This chapter will make brief information about
UAVs and the purposes of the thesis
Chapter 2: LITERATURE REVIEW: This chapter will go overall and quite details of the method, formula, and theory for basic mathematic drone models and control systems
Chapter 3: SYSTEM CONSTRUCTION: This chapter will cover details of the hardware of the model, including system mechanics and electronics
Chapter 4 focuses on the design and calculation of the robot, providing a comprehensive overview of its operating system and structural framework It also presents a detailed operating system model along with a flowchart illustrating the algorithms utilized in this thesis.
Chapter 5: RESULTS AND ASSESSMENT: This chapter will describe all experiments of the quadcopter in real environments
Chapter 6: CONCLUSION AND DISCUSSION: The result and achievement of this project is summary in this chapter including advantage and disadvantage
LITERATURE REVIEW
Quadcopter principle
A quadcopter is a six degrees of freedom (6 DOF) system characterized by twelve state variables It is powered by four rotors arranged in pairs, with each pair mounted on the same bar at equal distances and rotating in the same direction This configuration generates a balancing force that not only lifts the quadcopter into the air but also facilitates its rotation The design features two bars arranged in an X-cross shape, enhancing stability and maneuverability.
Figure 3 Quadcopter performed throttle movement
The flight direction and behavior of a quadcopter are primarily influenced by the varying speeds of its four rotors The thrust generated by these rotors is crucial for adjusting the quadcopter's altitude; increasing the throttle on all four motors simultaneously elevates the drone Additionally, differences in thrust among the rotors create pitching and rolling moments, affecting the quadcopter's stability and maneuverability Propellers are categorized into two distinct groups, each playing a unique role in flight dynamics The accompanying figure illustrates the quadcopter's actions, with larger and smaller arrows representing the magnitude of each motor's speed.
Figure 4 Quadcopter performed roll movement
Figure 5 Quadcopter performed pitch movement
Figure 6 Quadcopter performed yaw movement
Quadcopter kinematic
Quadcopters typically use two main coordinate systems: the Earth-Fixed Frame and the Body-Fixed Frame
The Earth-Fixed Frame, or Inertial Frame, is a reference frame anchored to the Earth's surface, utilizing a global coordinate system like latitude, longitude, and altitude This frame provides essential information regarding a quadcopter's orientation, velocity, and position relative to the Earth's surface.
The Body-Fixed Frame is a local coordinate system that remains stationary relative to the quadcopter's physical body, with its origin typically located at the center of gravity This frame is essential for maintaining control and stability of the drone, as it governs the quadcopter's velocity and attitude, including roll, pitch, and yaw.
Figure 7 Body-Fixed frame and Inertial frame of the quadcopter [3]
The Euler formula is essential for drones, offering a mathematical framework to describe and analyze their rotational motion This is crucial for understanding and controlling drone movement in three-dimensional space.
Figure 8 Rotation matrix on the X axis
Figure 9 Rotation matrix on the Y axis
Figure 10 Rotation matrix on the Z axis
The rotation matrix RZYX(𝜙, 𝜃, ψ) shows the relationship between Earth-Fixed Frame and the Body-Fixed Frame
In the Earth-Fixed Frame, observation is influenced by rotation in the Body-Fixed Frame, necessitating the use of a transformation matrix for accurate representation The derivation of this formula can be found in reference [4].
The mathematical framework for a quadcopter is grounded in the Newton-Euler equations, which describe the combined translational and rotational dynamics of the rigid body This analysis is supported by the findings in reference [5].
Kinematics of a rigid body with 6 DOF is given with ε̇ = J ν
In the context of quadcopter dynamics, the velocity vector in the Body-Fixed Frame is represented by ε̇, while ν denotes the generalized velocity vector, both defined within a transformation matrix J The state vector ε encompasses the quadcopter's position ξ, represented as [X Y Z], and its attitude η, denoted as [ϕ θ ψ] Consequently, the generalized velocity vector ν is expressed as [vB ω B], which includes linear velocities [u v w] and angular velocities [p q r].
A realistic approach to understanding quadcopter motion involves utilizing a generalized rotation and transformation matrix, which effectively converts velocities from a body-fixed frame to an earth-fixed frame This matrix comprises four essential submatrices that facilitate this transformation.
According to Newton's law, the quadcopter is subject to the following matrix equation for the total force
With 𝑚 presenting for quadcopter mass and 𝐹 𝐵 = [𝐹 𝑥 𝐹 𝑦 𝐹 𝑧 ] T ∈ R 3 is the total force By applying the assumption that the quadcopter frame has a symmetrical structure, the inertia matrix becomes the diagonal matrix
Quadcopter dynamics is described by
In the context of quadcopter dynamics, the identity matrix 𝐼 3×3 represents a 3 × 3 identity matrix, distinct from I The linear acceleration vector is denoted as v̇ 𝐵, while the angular acceleration vector is represented by ω̇ 𝐵 Additionally, 𝐹 𝐵 signifies the force vector acting on the quadcopter, and 𝑇 𝐵 indicates the torque vector, all of which are defined relative to the Body-Fixed frame.
Let λ = [f B τ B ] 𝑇 = [𝐹𝑥 𝐹 𝑦 𝐹 𝑧 τ x τ y τ z ] 𝑇 represents the force vector Force vector λ can be divided into three components:
Actuator dynamics play a crucial role in the control and maneuverability of drones These devices, including electric and servo motors, are responsible for adjusting the propellers and other control surfaces The performance of these actuators directly influences the drone's movement vector, impacting its overall flight capabilities.
The movement vector contains controllable parameters 𝑈 1 , 𝑈 2 , 𝑈 3 𝑎𝑛𝑑 𝑈 4 The movement vector is affected by angular velocity ω 1 , ω 2 , ω 3 𝑎𝑛𝑑 ω 4 of the propellers
Where 𝜔 1 , 𝜔 2 , 𝜔 3 𝑎𝑛𝑑 𝜔 4 is the angular speed of each propeller, 𝑏 is the thrust coefficient (measurement unit 𝑁𝑠 2 ) and 𝑙 is the distance between the drone's center of mass and propeller
The movement vector can be rewritten
System controller
This section explores the design strategy for enhancing quadcopter stability and the essential role of INAV firmware in its control system Achieving altitude stability is the first step in accurately positioning a quadcopter in three-dimensional space, followed by focusing on positioning stabilization The controllable parameters—𝑈1, 𝑈2, 𝑈3, and 𝑈4—each serve distinct functions while collectively influencing all four motors INAV is utilized to develop effective drone controllers for optimal performance.
2.3.1 INAV Navigation-enabled flight control software
INAV is an open-source software suite tailored for the navigation and control of autonomous aerial vehicles, specifically fixed-wing and multi-copter drones It offers a wide range of functionalities that tackle the challenges of quadcopter stability By leveraging sensor fusion techniques and advanced control algorithms, INAV allows operators to attain accurate attitude estimation, enhanced responsiveness, and superior stability during flight.
The integration of gyroscopes and accelerometers is essential for stability in INAV, as gyroscopes measure angular rates while accelerometers capture linear accelerations By combining data from these sensors, INAV accurately estimates the quadcopter's attitude, including roll, pitch, and yaw angles, which is vital for stabilizing the quadcopter and ensuring it maintains its desired orientation Additionally, INAV employs sensor fusion algorithms that integrate data from gyroscopes, accelerometers, and magnetometers, overcoming the limitations of individual sensors and enhancing attitude estimation accuracy This precise control allows quadcopters to remain stable amidst external disturbances, wind gusts, or aggressive maneuvers.
INAV is a versatile flight control software compatible with a wide range of flight controllers, including popular STM32-based boards, making it a reliable choice for drone enthusiasts Backed by an active and vibrant community, INAV continues to evolve with ongoing development, improvement, and support As a powerful open-source solution, INAV offers extensive capabilities for autonomous flight, waypoint navigation, and precise control, solidifying its position as a top choice for drone flight control software.
In quadcopters, motor mixing rules are essential for converting control inputs, such as pitch, roll, and yaw commands, into precise motor thrust values By regulating the varying speeds of their four motors, quadcopters achieve controlled movement and orientation Effective motor mixing rules ensure the implementation of optimal motor speeds, enabling quadcopters to exhibit desired flight behavior.
Figure 11 Motor Mixing Algorithms block diagram
Motor mixing rules differ based on the quadcopter's design, motor arrangement, and flight controller software These rules are integrated into the flight controller's firmware and play a crucial role in maintaining stable and controllable flight.
A PIDFF controller, or Proportional-Integral-Derivative-Feedforward controller, improves upon the traditional PID controller by incorporating a feedforward term, which enhances overall control performance.
In control systems, the coefficients \( K_p \), \( K_i \), and \( K_d \) represent the proportional, integral, and derivative components, respectively The error \( e(t) \) is defined as the difference between the setpoint (SP) and the process value (PV) Additionally, controllers may incorporate multiple feed-forward terms, such as \( K_{ff1} \), which corresponds to the setpoint, and \( K_{ff2} \), which accounts for disturbances.
A PIDFF controller integrates proportional, integral, and derivative feedback components with a feedforward element that anticipates predictable disturbances or inputs This proactive approach allows the controller to generate control actions that effectively counteract these disturbances, leading to enhanced control performance The benefits of utilizing a PIDFF controller include superior disturbance rejection and an improved capacity to track changes in the desired setpoint.
By utilizing a feedforward action, the controller can proactively address disturbances, enhancing the system's response to known inputs This approach minimizes reliance on feedback loops for error correction, leading to quicker and more efficient system performance.
Figure 12 PIDFF controller block diagram [8]
There are 2 controllers designed for altitude control systems, reference to INAV documents [9]
2.3.4.1 PID controller for altitude positioning
To maintain a specific height in space during operation, it is essential to control the lifting rate effectively The controller converts altitude errors into desired climb rates and accelerations The quadcopter will utilize three types of sensors—barometer, accelerometer, and lidar—as feedback mechanisms Each sensor has its own advantages and disadvantages, making their combination crucial for accurate altitude measurement.
The barometer offers accurate long-term measurements and responds quickly to airflow but struggles to distinguish between environmental air movement and that caused by the quadcopter's motion, leading to potential inaccuracies from even a slight breeze In contrast, the accelerometer measures the quadcopter's movements and is less susceptible to external influences, although it can produce high-frequency noise due to hardware vibrations, resulting in data drifting that makes it unsuitable for long-term assessments Lidar addresses these issues by providing highly accurate measurements and responsive data cycles, although it has a limited range By integrating all three sensors, the system can enhance overall measurement reliability.
14 quadcopter flies, the altitude estimate measured will have high accuracy and robustness in space Trustable feedback data is essential to contribute to the quality of the controller
2.3.4.2 PID controller for altitude velocity
The target speed of a drone's lift can be achieved by adjusting the thrust command, which influences the smoothness and speed of the drone's approach to the designated point Furthermore, the controller relies solely on the accelerometer for feedback.
Figure 13 Altitude stabilization algorithms block diagram
There are 5 controllers designed for the positioning control system, reference to INAV documents [9] and [10]
2.3.5.1 PIDFF controller for roll, pitch, and yaw
The PIDFF controller for roll, pitch, and yaw is designed to ensure that the quadcopter maintains the desired angle during flight by regulating yaw command, pitch command, and roll command It utilizes feedback from the gyro and accelerometer within the Inertial Measurement Unit (IMU) to achieve precise control.
A gyroscope measures the rotational rate or angular velocity of a drone by counting the rotations of its axes, enabling the estimation of the drone's current orientation (roll, pitch, and yaw) over time Its high accuracy in detecting rapid angular changes is essential for responsive control In contrast, accelerometers track linear accelerations, providing insights into the drone's motion and the effects of gravity, particularly useful for determining pitch and roll angles when no angular rotations occur However, accelerometers can be affected by noise and drift To enhance control performance and achieve accurate orientation estimates, sensor fusion techniques like Kalman filtering are utilized, combining the gyroscope's precise short-term measurements with the accelerometer's long-term gravity-based data, thus leveraging the strengths of both sensors while mitigating their weaknesses.
Figure 14 PIDFF controller block diagram for roll, pitch, and yaw
Preprocessing of raw signal data
In INAV, filters are essential for processing gyro sensor readings during the sensor fusion process, as these sensors measure angular velocity, which can be affected by noise and drift To improve the accuracy and reliability of attitude estimation and control in self-driving vehicles, it is crucial to apply filters to gyro data The main objective is to obtain precise measurements of angular velocity, which are then integrated to accurately determine the vehicle's orientation.
2.4.1 Digital Low pass filter and Digital Notch filter
A digital low-pass filter is designed to process discrete-time signals by reducing high frequencies It begins to attenuate signals at its cut-off frequency, effectively decreasing the amplitude of higher frequency noise.
A digital notch filter, known as a band-stop or reject filter, is a technique in digital signal processing designed to reduce or remove a specific narrow frequency range from a signal, while permitting other frequencies to remain unaffected.
Figure 16 Low Pass filter and Notch filter (Band-stop filter)
Data processing filters introduce phase delay, which is the time difference between significant changes in raw data and the filtered output This phase delay can adversely affect system performance, potentially altering its behavior Notably, lower cut-off frequencies result in increased delay caused by the filter.
Figure 17 Phase shift (phase delay) phenomenal
The Fast Fourier Transform (FFT) is a powerful algorithm designed to compute the Discrete Fourier Transform (DFT) and its inverse, significantly reducing the computational complexity of traditional DFT methods This efficiency makes FFT ideal for large-scale and real-time applications By decomposing a signal into its unique spectral components, FFT provides valuable frequency information, enabling efficient operations in the frequency domain.
Figure 18 Relationship between time domain and frequency domain
The matrix filter is an advanced approach to using notch filters by integrating multiple filters for 3D axis sensors, such as gyroscopes Unlike traditional methods that apply individual notch filters to each sensor axis, this technique utilizes Fast Fourier Transform (FFT) to convert time-domain data into a frequency spectrum for analysis By identifying significant peak frequencies that contribute to sensor data amplitude, high-frequency noise can be effectively eliminated using notch filters However, when a gyro sensor is mounted on a quadcopter, the misalignment between the quadcopter's body coordinates and the gyro coordinates can lead to noise distribution across different axes, as noted by INAV developers.
Figure 19 Misaligned in the gyro axis when mounted on a drone
Figure 20 The same noise frequency appears on all axis caused by the misaligned axis
A matrix filter utilizes a 3x3 structure, where each analyzed axis generates a notch filter that interacts with every other axis, resulting in a total of nine notch filters rather than just three flat filters.
Figure 21 Matrix filter block diagram
The Kalman filter is a powerful mathematical algorithm utilized for estimation and sensor fusion, effectively merging data from various sensors with predictions from a mathematical model to yield optimal state estimates This recursive filter calculates the Kalman gain to determine the appropriate weight for each measurement and prediction, dynamically adjusting the balance between these sources of information by prioritizing the more reliable or less uncertain data.
The Kalman filter excels in managing noisy and incomplete data, delivering precise and optimal state estimates It effectively incorporates system dynamics and the uncertainties tied to measurements and predictions By continuously refining its estimates with incoming data, the filter adapts to changes in the system's behavior.
The One-Dimensional Kalman Filter is a streamlined variant of the Kalman filter, specifically tailored for estimating the state of one-dimensional systems This algorithm relies on normal distribution principles, necessitating preprocessing to obtain the required parameters effectively.
To implement a one-dimensional Kalman filter, data is first stored in a buffer Afterward, the mean and variance of the buffered data are calculated The variance serves as the noise covariance measurement essential for the Kalman filter algorithm.
Figure 22 Relationship between variance and covariance in one-dimensional Kalman filter
Figure 23 Kalman filter block diagram [12]
The Kalman filter process signal has 3 steps:
Calculating the Kalman filter gain: 𝐾𝐺 = 𝐸 𝐸𝑆𝑇
Calculate the new error estimate: 𝐸𝑆𝑇 𝑡 = [1 − 𝐾𝐺](𝐸𝑆𝑇 𝑡−1 )
The RPM filter in INAV is specifically engineered to eliminate noise, vibrations, and other undesirable influences from RPM sensor data Its primary purpose is to deliver a smooth and precise estimation of rotational speed, which is essential for effective flight control and navigation.
Low pass filters introduce latency, with greater phase delay at lower frequencies, while notch filters target specific noise frequencies for elimination within a narrow band, reducing noise with less phase delay However, varying RPMs of motors lead to fluctuating noise frequencies during a quadcopter's operation, rendering notch filters ineffective To address these issues, the RPM filter was developed to enhance efficiency by overcoming the limitations of both low pass and notch filters.
The ESC transmits motor RPM data to the flight controller in near real-time after each DSHOT packet This allows the flight controller to accurately identify the vibration frequency produced by the motors, enabling the Notch filter to effectively eliminate unwanted frequencies This process not only reduces latency but also enhances overall performance.
Brushless DC motor - BLDC
A brushless DC (BLDC) motor operates through the interaction of permanent magnets and electromagnets, producing rotation via attractive and repulsive forces Its speed is regulated by a controller that delivers timed bursts of current to the electromagnets, ensuring precise control Compared to traditional alternatives, BLDC motors are recognized for their high efficiency and extended lifespan, making them a popular choice in various applications Commonly referred to as brushless motors, brushless DC motors, or simply BLDC motors, they offer significant advantages in performance and durability.
Figure 24 Brushless DC electric motor [13]
For a motor to rotate, power must be supplied to the stator windings, creating a shifting magnetic field that transforms the rotor into the male magnetic pole This magnetic attraction causes the rotor's magnets to revolve at a slight angle As long as electricity is continuously supplied to the coils and the power supply order is altered, the rotor will maintain constant rotation Additionally, increasing the pulse frequency will result in a higher rotational speed.
To effectively regulate the position and speed of a three-phase BLDC motor, a three-phase AC source must be generated from a DC source This can be achieved using either a sensor or a sensorless approach, with Hall sensors being commonly utilized due to their low cost In managing a BLDC motor, only six phase shifts per power cycle are required for accurate operation Additionally, the motor's position and speed can also be measured using sensors or electromagnetic rheostats (VR).
Figure 25 Hall sensor position in BLDC motor [14]
Electronic speed controllers - ESC
An Electronic Speed Controller (ESC) is a crucial element in drones and remote-controlled vehicles, as it manages the speed and direction of the motors that power the propellers.
Brush DC motors and brushless DC motors utilize different methods for speed and position control In brushed motors, speed is adjusted by varying the voltage across the armature In contrast, brushless DC motors require a unique approach, where speed is modified by changing the timing of current pulses to the motor's windings An electronic speed controller (ESC) delivers high power, high frequency, and high-resolution three-phase AC power to these compact motors, enabling efficient operation in small electronic circuits.
A brushless motor's speed is regulated by an electronic speed controller (ESC), which activates specific MOSFETs to initiate motor rotation The cycling frequency of the ESC across six periods directly influences the motor's movement speed.
Figure 27 Wiring diagram of BLDC and ESC [15]
Figure 28 BLDC motor behave based on switching state
To activate the phase of a rotor, two primary methods for determining its position are utilized The first method involves the use of Hall-effect sensors, which are strategically integrated into the stator and positioned either 120 or 60 degrees apart These sensors detect the magnetic field generated by the rotating permanent magnet rotors and provide a logic output accordingly.
"high" for one magnetic pole or "low" for the opposite pole The ESC uses this information to determine when to begin the next commutation sequence or interval
Figure 29 BLDC motor using Hall-effect sensors [15]
The second common method for locating the rotor involves detecting the back EMF, or return electromotive force This phenomenon occurs when a magnetic field is generated in the opposite direction or when it passes through a coil, inducing a current flow within the coil.
Figure 30 BLDC motor using back EMF [15]
When the rotor's rotating magnetic field passes over the inactive or free coil, it induces a current flow that results in a voltage drop The Electronic Speed Controller (ESC) monitors these voltage drops to determine the timing for the next operational interval.
Motor Protocol
Motor protocol is the specific communication method that allows the flight controller to send control signals to the Electronic Speed Controller (ESC), which regulates the drone's motors This protocol is crucial for the effective communication between the flight controller and ESC, managing essential aspects such as motor speed and direction.
25 characteristics is governed by the motor protocol It was originally based on servo position protocols
There are several motor protocols commonly used in drone ESCs, including:
Pulse Width Modulation (PWM) is a popular analog motor control protocol utilized by flight controllers, which transmit a sequence of electrical pulses to the Electronic Speed Controller (ESC) The length of each pulse indicates the target motor speed, enabling precise control of motor performance.
Oneshot: Oneshot is a specific implementation of PWM optimized for multirotor drones It reduces communication latency between the flight controller and ESC, allowing for more responsive motor control
Multishot: Multishot is an enhanced version of Oneshot that further reduces communication latency and improves motor response time compared to traditional PWM
It is often used in high-performance racing drones
DShot is a digital motor protocol that enhances precision and reliability by replacing analog PWM signals with digital commands sent to the ESC It features various versions, including DShot150, DShot300, DShot600, and DShot1200, each indicating the maximum communication speed in kilobits per second (Kbps).
The choice of motor protocol for a drone is influenced by the capabilities of the ESC and flight controller, alongside the drone's performance requirements and features It is essential that both the ESC and flight controller are compatible and support the same motor protocol to ensure effective communication and optimal motor control.
Technologies used in autonomous navigating quadcopter
Lidar, or Light Detection and Ranging, is an advanced remote sensing technology that employs laser light to accurately measure distances and generate intricate three-dimensional maps of the environment This technology works by emitting laser pulses and measuring the time it takes for the light to bounce back after hitting an object.
LIDAR sensors have been utilized globally in various industries for decades, proving effective in both indoor and outdoor environments This advanced technology has numerous applications, including port automation, traffic management systems, and object protection systems, among others.
LIDAR mapping is a highly effective technique for generating accurate and georeferenced spatial data regarding the Earth's surface and shape Recent advancements in LIDAR technology have enhanced the ability of scientists and mapping professionals to explore both natural and constructed environments with unprecedented accuracy, precision, and flexibility across various scales.
LIDAR technology provides highly precise and reliable data, surpassing earlier sensors that lacked accuracy in detection and data packaging It is an effective solution for various challenges, including scanning between objects, and offers a fast and direct mapping process that yields accurate results As LIDAR technology gains popularity in mobility applications requiring exceptional dependability and precision, it demonstrates the ability to quickly identify objects at high resolution while covering extensive areas, thanks to its robust performance and millimeter-level distance precision.
LIDAR technology is categorized into two main types: aerial and ground-based systems Aerial LIDAR, typically mounted on drones or helicopters, emits light toward the ground to gather data, with applications in topographic and bathymetric mapping Topographic LIDAR is essential for monitoring landforms and is utilized in fields such as geomorphology, urban planning, landscape ecology, and coastal engineering Another variant, Differential Absorption LIDAR (DALI), focuses on measuring ozone levels in the lower atmosphere Additionally, Wind LIDAR offers precise measurements of wind speed, direction, and turbulence, addressing challenges in traditional wind data collection caused by inaccuracies from various measurement stations.
This highly sought-after gadget offers numerous benefits across various sectors, including the ability to quickly and efficiently resample regions with high accuracy and point density Its user-friendly interface allows for rapid results and extensive coverage, facilitating high-resolution mapping of discrete changes Typical applications of LIDAR technology exemplify its versatility and effectiveness in diverse fields.
Floodplain Mapping and Disaster Management
Forensic Reconstruction and Accident Investigation
Airborne and Satellite Remote Sensing
LIDAR uses a laser beam for detection analyzing and tracking purposes This technique is connected to a mathematical approach that enables measurement of the distance between obstacles and the sensor
Figure 32 Working principle of LIDAR
The device utilizes remote sensing to accurately measure the distance between itself and a target by emitting light towards the target This light reflects off the target's surface and returns to the device, allowing for precise distance calculations based on the constant speed of light.
Global Positioning System
The Global Positioning System (GPS) enables users to determine their precise location and time from anywhere on the planet It consists of GPS receivers, ground control stations, and a network of satellites orbiting Earth.
The GPS system, managed by the U.S government, is accessible to anyone equipped with a GPS receiver GNSS, or Global Navigation Satellite System, encompasses various satellite-based navigation systems, including GPS, Russia's GLONASS, and Europe's Galileo.
The GPS system operates using trilateration, where ground-based GPS receivers detect signals from satellites By measuring the time it takes for these signals to reach the receiver, the distance between the satellite and the receiver can be calculated To accurately determine its exact three-dimensional location, the receiver typically needs signals from at least four satellites.
The rate at which radio signals travel is equal to the speed of light, and the time it takes for these signals to reach GPS receivers from satellites is crucial for determining location To accurately pinpoint a position, data from three satellites is required, while altitude information necessitates signals from four satellites.
Figure 33 Working principle of GPS
Inertial Measurement Unit
An Inertial Measurement Unit (IMU) is a sophisticated device that integrates multiple sensors to accurately measure and report an object's orientation, acceleration, and angular velocity in real-time By providing precise motion tracking and sensing capabilities, IMUs play a vital role in various applications, including robotics, drones, virtual reality systems, and navigation systems.
An IMU typically consists of three primary types of sensors:
An accelerometer is a device that measures linear acceleration across three axes—X, Y, and Z It is capable of detecting changes in velocity and can identify an object's movement or its position changes in relation to gravity.
A gyroscope is an essential device that measures angular velocity or rotational rate across three axes, enabling it to detect rotational movements This capability is crucial for applications like drones, where it tracks their rotation, and in virtual reality, where it monitors the movement of a user's head.
A magnetometer is an optional device that measures the strength and direction of the surrounding magnetic field, offering insights into an object's orientation in relation to the Earth's magnetic field Commonly utilized as a compass, it plays a crucial role in navigation and orientation tasks.
An Inertial Measurement Unit (IMU) provides crucial information about an object's orientation, including roll, pitch, and yaw angles, as well as linear acceleration and angular velocity This data is essential for effective motion tracking, stabilization, navigation, and control of various systems or objects To enhance location and navigation capabilities, IMUs are often integrated with technologies like GPS, allowing for accurate movement monitoring even in challenging environments, such as indoors or areas with obstructed views of the sky.
SYSTEM CONSTRUCTION
Structure of quadcopter
The study of quadcopters is complex due to the simultaneous operation of multiple algorithms To address this challenge, a standardized structure for quadcopters has been established The accompanying figure illustrates the quadcopter's design, including its connecting structure and block diagram.
Figure 35 Flight controller and flight computer connection structure
There are two main loops in structures:
The outer loop functions as the primary processing loop within the flight computer or PC ground station, gathering data from the inner loop and issuing commands to the flight controller It is responsible for executing all high-level algorithms essential for drone operation.
The inner loop of a drone's flight controller is crucial for processing sensor data, allowing for an accurate representation of the drone's motion It employs advanced control algorithms to ensure precise flight dynamics and stability.
The system interprets sensor data and translates pilot or autonomous commands into motor outputs, generating signals that control the drone's motor speed and direction Additionally, it facilitates effective communication between the drone and the pilot or ground control station.
Figure 36 Block diagram of flight computer and flight controller
Hardware selection
Carbon fiber frames are commonly used in quadcopters due to some of their properties:
Carbon fiber boasts an impressive strength-to-weight ratio, making it a superior choice for frame construction compared to traditional materials like aluminum and plastic Its lightweight nature combined with exceptional strength enables carbon fiber frames to endure the impacts, vibrations, and stresses experienced during flight.
Carbon fiber frames provide exceptional rigidity, effectively resisting flexing or bending under load, which enhances stability and control during flight This rigidity allows for precise maneuvers and improved responsiveness Additionally, carbon fiber's natural vibration dampening properties contribute to a smoother flying experience by minimizing vibrations.
The lightweight design of carbon fiber enhances quadcopter performance by reducing overall weight, leading to longer flight times, improved agility, and increased payload capacity.
There are many sizes and shapes of quadcopters based on propellers From 2-inch quadcopter to 9-inch quadcopter
Figure 38 The difference in size of the drone
This project utilizes 2.3-inch propellers, necessitating a compatible frame The FUS x111 pro frame is designed specifically for 2.3-inch propellers and features soft protective coverings that safeguard the drone from impacts and falls.
3.2.2 Flight controller - Mamba MK4 F772 MINI
Figure 39 Mamba MK4 F772 MINI FC
A flight controller (FC) is a critical component in unmanned aerial vehicles (UAVs)
It is essentially the brain of the multicopper, responsible for processing sensor data, executing flight commands, and maintaining stability during flight The flight controller
A drone typically features a microcontroller or specialized onboard computer that operates flight control software This system integrates multiple sensors, including accelerometers, gyroscopes, magnetometers, and barometers, to collect real-time data regarding the drone's orientation, position, altitude, and velocity.
The market offers a diverse range of flight controllers (FC), which are categorized based on the microcontroller utilized The majority of these flight controllers are powered by STM32 32-bit Arm Cortex microcontrollers, leading to three primary types of FC available for consumers.
The F3 flight controller is considered outdated due to its limited memory and processing capabilities, which hinder its ability to handle more advanced algorithms Although some manufacturers still offer this controller, it is no longer supported by third-party software developers, making it less viable for modern applications.
The F4 flight controller is highly recommended for its affordability and superior performance It boasts a greater memory capacity compared to the F3 controller and processing core, making it a more efficient choice Many third-party software developers believe that the F4 will remain a reliable option for the long term, unlike the F3, which may soon exhaust its resources.
The F7 flight controller stands out as the highest-performing option available, though its primary drawback is its cost Despite this, its full potential remains untapped, as third-party software developers have yet to fully leverage its capabilities, making it a valuable resource for users.
Mamba MK4 F772 MINI is a F4 flight controller and it has all the necessary sensors for this project
Table 1 Mamba MK4 F772 mini components table
The STM32F722RET6 microcontroller, featuring the ARM Cortex-M7 core, operates at a maximum frequency of 216 MHz, delivering exceptional computational power and efficient processing capabilities As part of the STM32F7 series, it provides high-performance solutions with advanced features suitable for a diverse array of applications and complex tasks.
Figure 41 a) STM32F722RET6 MCU b)STM32F722 in STM32CUBEMX
The microcontroller features 512 KB of Flash memory for program storage and 256
KB of RAM for data storage It also includes an additional 4 KB of backup SRAM, which
Figure 40 FC components and FC wiring diagram
The system retains critical data during power loss and supports diverse application needs with a variety of integrated peripherals and interfaces It includes multiple communication options such as UART, SPI, I2C, and CAN, alongside USB OTG and USB Host/Device interfaces Furthermore, it is equipped with multiple timers, ADCs, DACs, and PWM outputs, enabling precise timing, analog-to-digital and digital-to-analog conversion, as well as efficient motor control.
Figure 42 STM32F722RET pinout in the datasheet
The ICM-42688-P, produced by TDK InvenSense, is a compact and high-performance Inertial Measurement Unit (IMU) specifically engineered for motion sensing and tracking applications Key features and specifications of the ICM-42688-P IMU highlight its advanced capabilities in delivering precise motion data.
Sensor Integration: The ICM-42688-P integrates a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis magnetometer (compass) into a single chip This allows it to provide comprehensive motion-sensing capabilities
The ICM-42688-P features an integrated Digital Motion Processor (DMP) that executes advanced sensor fusion algorithms, effectively merging data from the gyroscope, accelerometer, and magnetometer This sophisticated combination of sensor information ensures precise motion tracking and accurate orientation estimation.
Communication Interface: The IMU supports standard digital communication interfaces, such as I2C (Inter-Integrated Circuit) and SPI (Serial Peripheral Interface), for easy integration with microcontrollers or other devices
Figure 43 a)ICM-42688-P product b)ICM-422688-P datasheet circuit
User-selectable Gyro Full-scale range
User-selectable Accelerometer Full-scale range (g) ±2/4/8/16
User-programmable digital filters for gyro, accel, and temp sensor
APEX Motion Functions pedometer, tilt detection, tap detection, wake on motion, raise to wake/sleep, significant motion detection
Host interface 12.5 MHz I3C SM , 1 MHz I 2 C,24 MHz SPI
The SPL06-007 is a compact Digital Barometric Air Pressure Sensor known for its high accuracy and low power consumption Functioning as both a pressure and temperature sensor, it employs a capacitive sensing principle to maintain precision despite temperature variations Its small size makes the SPL06-007 particularly suitable for mobile applications and wearable devices Additionally, the sensor features an internal signal processor that delivers 24-bit output from the pressure and temperature measurements Each unit is individually calibrated and includes specific calibration coefficients, ensuring accurate conversion of measurements to true pressure and temperature values.
Figure 44 a) SPL06 product b) SPL06 datasheet circuit
Pressure range 300 to 1100hPa (+9000m-500m relating to sea level)
Supply voltage 1.7 to 3.6V (VDD), 1.2 to 3.6V (VDDIO)
Package LGA package with metal lid
Relative accuracy ±0.06hPA equiv to ±0.5𝑚
Absolute accuracy ±1hPA (300 to 1100hPA)
Average current consumption High precision:60𝜇𝐴 Low power:3𝜇𝐴
FIFO Stores latest 32 pressure or temperature measurements
3.2.6 Brushless motors - Diatone Mamba TOKA 1204 5000KV
Figure 45 Diatone Mamba TOKA 1204 5000KV product
Figure 46 Diatone Mamba TOKA 1204 5000KV scheme
Prop mounting shaft diameter (mm) 1.5mm
Lead wire size 24AWG, 150mm
Table 4 Diatone Mamba TOKA 1204 5000KV specification table
Figure 47 Diatone Mamba TOKA 1204 throttle test
3.2.7 ESC - Diatone MAMBA F40_128K BL32 MINI
Figure 48 Diatone MAMBA F40_128K BL32 MINI ESC
Table 5 Diatone MAMBA F40_128K Mini ESC specification table
DShot ESCs lead the market thanks to their significant advantages, utilizing a digital signal for command transmission to motors This method effectively eliminates signal interference and minimizes communication errors, addressing common issues associated with analog protocols.
Analog protocols are very sensitive to inaccurate calibration
Electrical noise in the system limits the possible precision of analog signals
Hardware sketch assembly
Figure 55 Drone hardware wiring diagram
DESIGN AND CALCULATION
Inner Loop
INAV supports a range of unique mixing rules and various preset mixer configurations, which dictate how servos and motors respond to user and flight controller (FC) inputs.
Figure 57 INAV motor mixer rules setup
Each motor requires a specific mixing rule that dictates the weights controlling the roll, pitch, and yaw rates, influencing how the motor adjusts its speed in response to throttle and flight dynamics Heavier weights will have a greater impact on motor speed adjustments For detailed information on the significance of each weight, please refer to the accompanying table.
Figure 58 INAV Motor mixer rule documents [16]
INAV utilizes floating-point mathematics for PID control, which allows for precise calculations involving real numbers This method effectively manages numbers with fractional components and accommodates very large or small values that cannot be accurately represented as integers.
Because INAV uses a lot of PIDFF models, this process is used as a model base to create any controller needed for the future
Figure 59 INAV PIDFF controller flowchart
4.1.3 PIDFF controller for roll, pitch, and yaw
The PIDFF for roll pitch and yaw uses the same model as PIDFF above Depending on the quadcopter model, the PIDFF parameter for each process will be different
Figure 60.INAV PIDFF controller documents [10]
Figure 61 PIDFF controller for roll, pitch, and yaw flowchart
Figure 62 PIDFF parameter setup and adjust
Figure 63 INAV Altitude controller documents [9]
There are 2 controllers for the altitude control system:
Controller for altitude positioning: translates altitude error to desired climb rate and acceleration P is for altitude to velocity and I is for velocity to acceleration
Controller for altitude velocity: translated Z-acceleration error to throttle adjustment
Figure 64 INAV Altitude controller flowchart
The controller initially verifies the presence of new vertical position data If new data is available, it updates the desired velocity and acceleration accordingly Subsequently, the updated information is processed to return the results.
51 checked again if the previous data was out of data The desired velocity and acceleration will transfer as input from the altitude velocity controller and altitude throttle controller
Figure 65 INAV Position controller document [9]
There are 2 controllers for the position control system:
Controller for positioning: translated position error to the desired velocity, uses P term only
Controller for position velocity: translates velocity error to desired acceleration
Figure 66 INAV Position controller flowchart
Firstly, the controller checks if GPS is valid because GPS is essentially needed for position hold Secondly, a new position is checked for setting desired velocity and
52 acceleration After that, the controller will start to compute new velocity and acceleration rates and turn them to the roll and pitch command.
Filter parameters
Figure 67 INAV Filter parameters section
Dynamic gyro LPF: enable it and LPF cutoff frequency will able to move linearly depending on throttle value
Main gyro filter cutoff frequency: Value is the cutoff frequency (Hz)
Matrix Filter Type: Gyro dynamic notch type
Matrix Filter Min Frequency: Minimum frequency for dynamic notches
Matrix Filter Q Factor: Q factor for dynamic notches, Q is the width of the notch filter
Figure 68 Differences in Q value of matrix filter
Unicorn Filter Q Factor: Quality factor of the setpoint Kalman filter Higher values mean less filtering and lower phase delay As recommended by the developer, a 3-
7 inch multirotor can be usually increased to 200-300 or even higher for clean builds
D-term LPF cutoff frequency: D-term low pass filter cutoff frequency A high value may cause heat to the motor
Gyro RPM filter min frequency: The lowest frequency for gyro RPM filtered.
Filter and controller tunning
PIDtoolbox is a powerful suite of graphical tools designed for analyzing multirotor black box log data Compatible with Betaflight, Emuflight, INAV, FETTEC, and QuickSilver log files, this standalone tool facilitates the collection of data from Blackbox, enabling users to accurately identify system models for effective analysis and tuning.
The graph below shows the spectrum of gyro before and after applying filters The time for sampling is from 10 to 20 seconds
Figure 69 Graph of raw gyro data and filtered gyro data before turning in the frequency domain
Figure 70 Harmonic of raw gyro and filtered gyro before tunning
The 2 first graphs are on the roll axis and 2 graphs after are on the yaw axis, and the
The yaw axis data shows that the dotted line, representing gyro data before filtering, exhibits greater fluctuations and lower high frequency compared to the clean line after filtering The default settings introduce high-frequency noise at 300Hz and 400Hz in the filtered data To address this issue, applying a notch filter to cut off frequencies at 300Hz and 400Hz effectively removes the unwanted noise.
When addressing 300Hz and 400Hz noise, it's important to note that this noise is not constant and fluctuates with throttle changes The RPM filter effectively tracks noise peaks by utilizing feedback from the motor's ESC Consequently, the “Gyro RPM filter min frequency” is set to 200Hz, which is the maximum for this parameter Additionally, the notch filter's width is calculated to target the noise spectrum, which spans from 270-320Hz and 350-400Hz By increasing the “Matrix Filter Q Factor,” the notch filter's width is adjusted, successfully eliminating the unwanted noise.
Figure 71 Graph of raw gyro data and filtered gyro data after tunning in the frequency domain
Figure 72 Harmonic of raw gyro and filtered gyro after tunning
Tuning a PID controller can be complex due to the absence of strict rules and the interplay between various PID terms, which can lead to time-consuming adjustments However, implementing effective strategies can streamline this process and enhance efficiency.
Using the default setting as original: the default setting works almost fine since it covers generic cases Those values are recommended by developers, manufacturers, and experienced users
Tunning D parameter first: D-term only effect P-term if it changes rapidly
Tuning the scaler of the current PID is essential for optimizing quadcopter performance This process identifies the ideal PID parameters by adjusting the scale, ensuring stability throughout By fine-tuning these settings, pilots can achieve optimal flight control and enhanced stability in their quadcopters.
Tunning I parameter: I terms play a significant role in settling down the output Finding a good I parameter will help the controller get to the setpoint faster without having extra vibration
Tunning FF parameter: this is the last step where the controller is stable FF parameter makes the system more robust and fast decay to a setpoint
Figure 73 Graph for roll and pitch controller data before and after tunning
The method focuses on tuning roll and yaw parameters, as the default yaw setting is already optimized The graph illustrates the differences in controller performance before (green line) and after (red line) tuning While the roll controller achieves the setpoint, it exhibits significant oscillation, in contrast to the more stable pitch controller Notably, both controllers have a latency of 27ms Ultimately, the quadcopter demonstrates improved overall performance.
Outer loop
The Robot Operating System (ROS) is an open-source framework designed for developing robotic systems, offering a variety of software libraries and tools that assist developers in creating and managing complex robot applications Initially developed by Willow Garage in 2007, ROS has gained considerable popularity and support within the robotics community Rather than being a conventional operating system, ROS functions as middleware that operates on top of a host OS like Linux, delivering essential services and functionalities for robotics applications.
It offers a distributed architecture, allowing the integration of various components and modules across multiple machines and sensors
ROS is a popular framework in robotics, utilized extensively in academic and industrial environments for creating various robotic systems such as autonomous vehicles, drones, industrial robots, and mobile manipulators Its widespread adoption is attributed to its flexibility, modular design, and robust community support.
Figure 74 ROS is utilized as a virtual algorithm application for autonomous vehicle
In a ROS-based application, each node operates as an independent computer process The ROS master node acts as the central control unit, necessitating that all nodes register with it to become operational Consequently, the master node must be initiated first, serving a crucial management role Before communicating with other nodes, each node must send its data to the master, ensuring coordinated interaction within the system.
Process communication in ROS relies on TCP or UDP implementations, enabling nodes to communicate independently once connected The master node's role is limited to initial setup; if connectivity is lost, it can only be restarted if the master is operational This architecture introduces a single point of failure, as the system's functionality hinges on the availability of the master node.
Figure 75 ROS communication between subscriber and publisher [17]
Nodes are essential components that link data from sensors, peripherals, and processing activities in a robotic system In the Robot Operating System (ROS), each node functions as software that executes specific tasks and facilitates communication between programs Nodes can act as publishers, which output data, or subscribers, which receive data, or both Data outputs are categorized by names known as "topics," which in ROS are formatted with a leading "/" followed by the topic name Before nodes can exchange information through these topics, they must first register with the system.
"ros_master" as the central node that stores the transmission and reception information of other nodes
The Multiwii Serial Protocol (MSP) is a vital communication protocol that facilitates data exchange between flight control boards and ground stations or other devices Initially created for the MultiWii project, MSP supports an open-source platform for multirotor aircraft, enhancing their operational capabilities.
The MSP protocol facilitates the configuration, control, and monitoring of flight controllers through a defined set of commands and data structures This protocol supports bidirectional communication, enabling ground stations and other devices to send commands to the flight controller while receiving telemetry data in response.
The MSP protocol functions through a serial connection, primarily utilizing UART (Universal Asynchronous Receiver-Transmitter) communication It employs a straightforward packet-based format, with each packet containing a header, command ID, data payload, and a checksum for error detection.
Figure 76 Structure of MultiWii Serial Protocol [18]
MSP is frequently utilized alongside ground station software like Betaflight, Cleanflight, and iNav to set up and oversee flight controllers This software interacts with the flight controller through MSP commands, enabling users to modify settings, calibrate sensors, and access telemetry data in real-time during flights.
Christian Rauch has released an open-source project focused on developing ROS nodes for MultiWii, utilizing the MultiWii Serial Protocol (MSP) to interface with flight controllers running INAV firmware This project leverages existing Mavros message definitions and topics, ensuring compatibility with various visualization and control nodes.
Figure 77 ROS node structure for quadcopter
The MultiWii node has a variety of options for requesting data from the quadcopter Depending on purposes, programmers subscribe or publish data to connect apps with apps
The Node Graph has 4 main topics:
WP_input_topic: This is a subscribe-type topic Waypoint trajectory data is getting from other sources and transferred to FC
PC_input_topic: This is a subscribe-type topic Keyboard controller data is getting from other sources and transferred to FC
Multiwii/GPS: This is a publish-type topic that publishes GPS location data
Tf: This is a publish-type topic that publishes FC estimate position and orientation
Figure 78 ROS topic monitor and data rate setup
A waypoint in INAV is a designated geographic location that a UAV must navigate to during autonomous flight These waypoints consist of predetermined coordinates that the drone follows sequentially to accomplish its mission or flight plan, typically defined by latitude, longitude, and altitude values.
INAV offers various waypoint options for users, including waypoint, position hold, headlock, Point of Interest (POI), return home (RTH), and landing To utilize waypoint mode in INAV via PC, it is essential to send the required MSP commands following the specified structure.
Figure 79 MSP waypoint message structure [9]
Figure 80.INAV Navigation controller flowchart
The waypoint controller integrates altitude, position, and heading control systems, making its performance highly reliant on the precise tuning of these components Poor performance in any single controller can significantly compromise overall navigation accuracy.
Unity is a leading cross-platform game development engine that offers an extensive array of tools for crafting interactive 2D and 3D content It is ideal for creating a variety of applications, including games, simulations, virtual reality (VR) experiences, and augmented reality (AR) applications.
Unity empowers developers to create games and applications through a versatile visual editor and the C# scripting language, accommodating a diverse array of platforms such as Windows, macOS, Linux, Android, iOS, Xbox, PlayStation, and Nintendo Switch.
RESULTS AND ASSESSMENTS
Position hold in a real environment and visualize in a Unity environment
The position hold test was performed in a real-world environment with real-time data transmission and visualized in a Unity environment
Figure 85 a) Position hold in a real environment b) Visualize in the Unity environment
The graphic above depicts the activity of a quadcopter's position under the influence of a tiny amount of wind intensity.
Trajectory tracking pattern
All practical experiments are conducted under optimal conditions, ensuring normal weather and ample space This thesis focuses on collecting GPS position data and estimates for accurate result plotting To guarantee safety and enhance performance, a minimum of 16 satellites is required.
The article presents various spatial patterns observed in different areas as depicted on OpenStreetMap It highlights the perpendicular pattern, hourglass pattern, and circular pattern, showcasing their occurrences in both small and large areas Specifically, it illustrates how these patterns vary in scale, providing insight into their distinctive characteristics and arrangements.
Performance results in practical experiments
Figure 87 Result of moving Perpendicular trajectory pattern
Figure 85 shows the path of the trajectory in a perpendicular pattern The quadcopter start the mission flight at WP1 and ended at WP4
At point 1: The quadcopter tries to reach WP2
At point 2: The quadcopter is moving to WP2
At point 3: The quadcopter tries to reach WP3
At point 4: The quadcopter is moving to WP3
At point 5: The quadcopter tries to reach WP4
At point 6: The quadcopter is moving to WP4
At point 7: The quadcopter tries to return home
Figure 88 Waypoint trajectory data from a black box
Figure 89 Data of gyro and acceleration in perpendicular pattern of small area a) At point 1 b) At point 2 c) At point 3 d) At point 4 e) At point 5 f) At point 6 g) At point 7
Figure 90 Data of gyro and acceleration in perpendicular pattern of big area a) At point 1 b) At point 2 c) At point 3 d) At point 4 e) At point 5 f) At point 6 g) At point 7
Figure 91 Result of moving Hourglass trajectory pattern
Figure 89 shows the path of the trajectory in a perpendicular pattern The quadcopter started at WP1 and ended at WP4
At point 1: The quadcopter tries to reach WP2
At point 2: The quadcopter is moving to WP2
At point 3: The quadcopter tries to reach WP3
At point 4: The quadcopter is moving to WP3
At point 5: The quadcopter tries to reach WP4
At point 6: The quadcopter is moving to WP4
At point 7: The quadcopter tries to return home
Figure 92 Waypoint trajectory data from a black box
Figure 93 Data of gyro and acceleration in hourglass pattern of small area a) At point 1 b) At point 2 c) At point 3 d) At point 4 e) At point 5 f) At point 6 g) At point 7
Figure 94 Data of gyro and acceleration in hourglass pattern of big area a) At point 1 b) At point 2 c) At point 3 d) At point 4 e) At point 5 f) At point 6 g) At point 7
Figure 95.Result of moving Circular pattern
Figure 93 shows the path of the trajectory in a perpendicular pattern The quadcopter started at WP1 and ended at WP4
At point 1: The quadcopter tries to reach WP2
At point 2: The quadcopter tries to reach WP3
At point 3: The quadcopter tries to reach WP4
At point 4: The quadcopter tries to reach WP5
At point 5: The quadcopter tries to reach WP6
At point 6: The quadcopter tries to reach WP7
At point 7: The quadcopter tries to reach WP8
At point 8: The quadcopter tries to reach WP9
At point 9: The quadcopter tries to reach WP10
At point 10: The quadcopter returns home
Figure 96 Waypoint trajectory data from a black box
The data presented in Figure 97 illustrates the gyro and acceleration measurements taken in a circular pattern across a small area, specifically at ten distinct points labeled from point 1 to point 10.
The data collected from the gyroscope and acceleration sensors reveals a circular pattern across a large area, with specific readings taken at various points: point 1 through point 9 Each point provides crucial insights into the movement dynamics within the observed circular trajectory.
CONCLUSION AND DISCUSSION
Conclusion
The development of an external navigation and control system for unmanned aerial vehicles (UAVs) has significantly enhanced their capabilities and applications This thesis addresses fundamental requirements, focusing on how the quadcopter localizes its position and plans its flight path in dynamic outdoor environments, which can introduce unpredictable variables The design and control methods proposed are applicable to various UAV types, ensuring versatility and effectiveness in real-world scenarios.
After extensive research and overcoming numerous challenges, significant time and effort were invested in the projects However, the exceptional support from ISLAB members, particularly from Assoc Prof Ph.D Lê Mỹ Hà, played a crucial role in achieving successful outcomes.
The project has reached the requirement in navigate and controlling systems in space
Successfully connecting computer and drone for further application
Create a structure for a variety of purposes in the future
Design a stable quadcopter system capable of performing tracking functions
The simulation is still in development
The tunning is still not optimal
Lots of potential features haven’t been applied
Discussion
This thesis develops a method for navigation and control systems in UAVs, emphasizing trajectory and path planning Although the system is not yet optimized due to tuning challenges and the lack of simulation capabilities, it serves as a valuable foundation for future research in this field.
[1] “Global Consumer Drone Market Share Analysis Report, 2030.” https://www.grandviewresearch.com/industry-analysis/consumer-drone-market (accessed Jun
[2] F Ahmed, J C Mohanta, A Keshari, and P S Yadav, “Recent Advances in Unmanned Aerial Vehicles: A Review,” Arab J Sci Eng, vol 47, no 7, pp 7963–7984, Jul 2022, doi: 10.1007/S13369- 022-06738-0/FIGURES/22
The movement dynamics of a quadcopter involve the interaction between its body frame and the inertial frame of reference Understanding these movements is crucial for optimizing quadcopter performance and stability Research findings illustrate the relationship between the quadcopter's structural design and its maneuverability, providing insights into effective control strategies This analysis contributes to advancements in quadcopter technology, enhancing applications in various fields such as aerial surveillance and delivery systems.
[4] J Diebel, “Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors,” 2006
[5] Z Benic, P Piljek, and D Kotarski, “Mathematical Modelling of Unmanned Aerial Vehicles with Four Rotors,” Interdisciplinary Description of Complex Systems, vol 14, no 1, pp 88–100, 2016, doi: 10.7906/indecs.14.1.9
[6] Brian Douglas, “Drone Simulation and Control, Part 2: How Do You Get a Drone to Hover?
Retrieved from https://www.youtube.com/watch?v=GK1t8YIvGM8&t03s,” Oct 23, 2018
[7] “TCLab PID with Feedforward.” https://apmonitor.com/pdc/index.php/Main/TCLabPIDFeedforward (accessed Jun 29, 2023)
[8] Brian Douglas, “What Is Feedforward Control? | Control Systems in Practice Retrieved from,” Sep 25, 2018
[9] “inav/docs/Navigation.md at master ã iNavFlight/inav ã GitHub.” https://github.com/iNavFlight/inav/blob/master/docs/Navigation.md (accessed Jun 29, 2023)
[10] “inav/docs/INAV PID Controller.md at master ã iNavFlight/inav ã GitHub.” https://github.com/iNavFlight/inav/blob/master/docs/INAV%20PID%20Controller.md (accessed Jun 29, 2023)
[11] “EmuFlight and INAV Matrix Filter | QuadMeUp.” https://quadmeup.com/emuflight-and-inav- matrix-filter/ (accessed Jun 29, 2023)
[12] Michel van Biezen, “Special Topics - The Kalman Filter (4 of 55) The 3 Calculations of the Kalman Filter Retrieved from https://www.youtube.com/watch?v=X9cC0o9viTo,” Sep 15, 2015
[13] “What is a Brushless Motor? Answered (2023) - Tyto Robotics.” https://www.tytorobotics.com/blogs/articles/what-is-a-brushless-motor (accessed Jun 29,
[14] “Center stage with Hall sensors - Industrial - Technical articles - TI E2E support forums.” https://e2e.ti.com/blogs_/b/industrial_strength/posts/center-stage-with-hall-sensors (accessed Jun 29, 2023)
[15] “How Brushless DC Motor Works? BLDC and ESC Explained.” https://howtomechatronics.com/how-it-works/how-brushless-motor-and-esc-work/ (accessed Jun 29, 2023)
[16] “inav/docs/Mixer.md at master ã iNavFlight/inav ã GitHub.” https://github.com/iNavFlight/inav/blob/master/docs/Mixer.md (accessed Jun 29, 2023)
[17] “Introduction to Robot Operation System (ROS) – Lior Shalom.” https://liorshalom.com/2020/12/23/robot-operation-system-ros/ (accessed Jun 29, 2023)
[18] “Multiwii Serial Protocol - MultiWii.” http://www.multiwii.com/wiki/index.php?title=Multiwii_Serial_Protocol (accessed Jun 29,
[19] “christianrauch/ros-multiwii: ROS Node for MultiWii and Cleanflight flight controllers.” https://github.com/christianrauch/ros-multiwii (accessed Jun 29, 2023).