Next Article in Journal
Evaluation of Machine Learning Regression Techniques for Estimating Winter Wheat Biomass Using Biophysical, Biochemical, and UAV Multispectral Data
Previous Article in Journal
Advancing Convergence Speed of Distributed Consensus Time Synchronization Algorithms in Unmanned Aerial Vehicle Ad Hoc Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Experimental Identification of the Translational Dynamics of a Novel Two-Layer Octocopter

College of Engineering, UAE University, Al-Ain P. O. Box 15551, United Arab Emirates
*
Author to whom correspondence should be addressed.
Drones 2024, 8(7), 286; https://doi.org/10.3390/drones8070286
Submission received: 14 May 2024 / Revised: 18 June 2024 / Accepted: 24 June 2024 / Published: 26 June 2024
(This article belongs to the Section Drone Design and Development)

Abstract

:
This paper proposes a systematic approach for identifying the translational dynamics of a novel two-layer octocopter. Initially, we derive the non-linear theoretical dynamic model of the conventional octocopter using the Newton–Euler formulation, aimed at obtaining a simplified model suitable for tuning PID gains necessary for controller implementation. Following this, a controller is designed and tested in the Matlab/Simulink environment to ensure stable flight performance of the octocopter. Subsequently, the novel octocopter prototype is developed, fabricated, and assembled, followed by a series of outdoor flight tests conducted under various environmental conditions to collect data representing the flight characteristics of the two-layer vehicle in different scenarios. Based on the data recorded during flights, we identify the transfer functions of the translational dynamics of the modified vehicle using the prediction error method (PEM). The empirical model is then validated through different flight tests. The results presented in this study exhibit a high level of agreement and demonstrate the efficacy of the proposed approach to predict the octocopter’s position based only on motor inputs and initial states of the system. Despite the inherent non-linearity, significant aerodynamic interactions, and strongly coupled nature of the system, our findings highlight the robustness and reliability of the proposed approach, which can be used to identify the model of any type of multi-rotor or fixed-wing UAV, specifically when you have a challenging design.

1. Introduction

In recent years, the development of unmanned aerial vehicles (UAVs) has seen rapid growth due to technological breakthroughs in various areas, including power storage systems, MEMS sensors, remote control capabilities, navigation systems, and fabrication technologies [1,2]. These advancements have significantly enhanced UAV flight capabilities, autonomy, payload capacity, safety, and reliability [3,4]. Consequently, UAVs are now employed in extensive civilian and military applications, including delivery services, search and rescue, environmental monitoring and conservation, military and law enforcement, surveying and mapping, and other miscellaneous applications [5,6,7]. UAVs are currently classified, based on their physical configuration, into two principal categories: fixed-wing and rotorcraft UAVs [8]. Among rotorcraft UAVs, multi-rotors have become widely used, thanks to their unique capabilities such as vertical take-off and landing (VTOL), hovering, agility, and high maneuverability [9]. Octocopters are multi-rotors equipped with eight rotors that are generally positioned equidistantly on the vertices of an octagon. They offer improved redundancy, stability, and enhanced payload capacity due to their eight-motor configuration [10,11,12,13,14]. Two prevalent designs for octocopters are the conventional and coaxial configurations. In the conventional setup, eight arms are equipped with eight motors, whereas the coaxial arrangement, as described in [15], features four arms, each incorporating two motors positioned one above the other. The authors in [16] introduced a novel design consisting of eight rotors arranged in two layers, capable of generating a remarkable 41.5% increase in thrust compared to a coaxially configured octocopter with identical rotor blade size. Furthermore, in contrast to conventional octocopter designs with equal arm length, this configuration exhibits a remarkable 71% boost in thrust due to the ability to utilize larger propellers with the same arm length. This design improves the payload capacity in limited geometric sizes.
Achieving stable and robust control for this innovative configuration is one of the major challenges to the successful flight of this model, particularly for missions requiring precise positioning and altitude control. Therefore, developing an accurate model that characterizes the dynamic behavior of the system and overcomes the complexity of this model, which has significant aerodynamic interactions and intricate airflow patterns, coupled with the inherent attributes of this highly non-linear, multi-input multi-output (MIMO), strongly coupled, and intrinsically unstable system, is extremely imperative [17].
In modeling such a system, two primary approaches are commonly employed: the first principle of modeling and system identification [18]. The former is derived from the laws of mechanics and aerodynamics to obtain the non-linear model, which requires certain assumptions to simplify the model, whereas the system identification approach develops models directly from observed input–output data to address all these uncertainties and create a model that accurately depicts the system’s dynamics [17]. Ljung’s literature review [19] introduced methods for system modeling and identification, ranging from a white box to a black box. White models estimate parameters from measured data based on first-principles modeling, where physical parameters, such as mass, moment of inertia, and motor constants, are obtained from actual measurements using software or experimental methods [20]. However, this is still a challenging task that has not yet been entirely tackled [17].
On the other hand, gray-box modeling combines the measured input–output data with prior information about the dynamic representation of the system [21]. In the study by [22], gray-box modeling was used to identify the dynamics of a quad-copter in accelerated flight, demonstrating improved modeling accuracy and robustness against noise. Similarly, the authors in [23] constructed a gray-box model to identify the aerodynamic forces and moments during high-speed flight, and the model exhibited high prediction accuracy and successfully identified the dynamics of the quadrotor.
In contrast, the black-box model is obtained without any prior physical knowledge or insight about the model, and it is directly modeled from the measured input–output data as discussed in [24,25]. The study presented in [20] used a black-box neural network model to learn the dynamics of the quadrotor, and the model was able to capture and handle the system’s intricacies.
Despite extensive studies on system identification in UAV dynamics, a notable research gap exists concerning the dynamic model identification of octocopters, particularly regarding position identification, which is a challenging task that involves identifying the closed-loop model of the octocopter during outdoor flights. Our study focuses on modeling the translational dynamics using flight test data, which is considered an essential feature for applications requiring high location accuracy, such as imaging and remote sensing.
The contributions of this paper are summarized as follows:
  • We present the transfer function identification of a novel two-layer octocopter that features a remarkable increase in thrust compared to conventional and co-axial configurations.
  • System identification is proposed based on recorded real-world flight test data, and the transfer functions governing the position and altitude of the model are identified using the prediction error method (PEM).
  • The proposed identified transfer functions are considered a black-box model, providing a closed-form solution that directly correlates motor inputs with the vehicle’s position. This enables direct prediction of the vehicle’s location based on motor inputs, which is a novel approach, given the model’s high non-linearity, parameter uncertainty, and susceptibility to measurement noise.
To achieve this, we created a Matlab Simulink model to represent the theoretical dynamics of the conventional octocopter to obtain a simplified model for initial controller gain tuning to ensure stability and optimal performance. Subsequently, we developed and manufactured a hardware prototype from scratch, assembled it, and conducted real-world flight tests to collect data for the identification process, which were filtered using an Extended Kalman Filter to obtain accurate position data. Finally, we employed our model and validated the accuracy of the obtained system models through diverse flight tests conducted in various locations and environmental conditions.
The paper is organized as follows: in Section 2 the dynamic model of the octocopter is derived using the Newton–Euler model. Section 3 delves into the development of the closed-loop theoretical model, including the design, implementation, and testing of the controller. The hardware setup and the data collection process through flight tests are presented in Section 4. Section 5 details the approach followed in the identification and validation experiments. Finally, in Section 6, we present the results obtained from estimating the identified model and the analysis of its characteristics.

2. Dynamic Model of the Octocopter

In this paper, we mainly focus on modeling the two-layer octocopter. However, here, we present the dynamic model of the standard octocopter, as the fundamental equations governing the dynamics of both configurations are equivalent despite their structural differences. This arises from the fact that the driving motors in both configurations are all mounted perpendicular to the UAV body frame. Consequently, these motors generate thrust force in the direction perpendicular to the UAV frame, as well as three independent torques around its three body axes. The main structural difference lies in the inertia matrix, where the two-layer configuration features off-diagonal elements. However, considering that the magnitudes of these off-diagonal elements, when compared to diagonal elements derived from the CAD file, are three orders of magnitude lower, the assumption of a symmetrical structure remains quantitatively valid. The dynamic model of the octocopter is derived based on the work presented in [26,27,28]. To facilitate the development of the dynamic model for the octocopter, we consider the following assumptions and hypotheses:
  • The octocopter is modeled as a rigid body affected by a single lift force and three types of torques.
  • The octocopter has a symmetrical structure, which implies that the inertia matrix has only diagonal elements.
  • The center of gravity coincides with the origin of its fixed frame of reference.
  • The rotors are assumed to be rigid, so the effect of their deformation during rotation can be neglected.
  • The lift forces and motor speeds are supposed to be proportional to the square of the rotors’ rotational speed, which is a very close approximation to the aerodynamic behavior.

2.1. Kinematics

As depicted in Figure 1, we define two coordinate systems: an inertial frame at a specific ground-level location, and a body-fixed frame at the octocopter’s center of gravity. The octocopter’s linear position within the inertial frame, defined by the ( x , y , z ) axes, is designated by the vector p = [ x   y   z ] T . On the other hand, the orientation of the octocopter is denoted by the vector Θ = [ ϕ , θ , ψ ] , with each element representing one of the three Euler angles: roll ( ϕ ), pitch ( θ ), and yaw ( ψ ). These angles determine the rotations around the x, y, and z axes, respectively.
The rotation matrix, denoted as R, provides the transformation between the body-fixed frame and the inertial frame. This matrix is derived based on the sequence of principle rotation: first around the z axis, then around the y axis, and finally around the x axis:
R = R ψ × R θ × R ϕ
= C ψ S ψ 0 S ψ C ψ 0 0 0 1 C θ 0 S θ 0 1 0 S θ 0 C θ 1 0 0 0 C ϕ S ϕ 0 S ϕ C ϕ
= C ψ C θ C ψ S θ S ϕ S ψ C ϕ C ψ S θ C ϕ + S ψ S ϕ S ψ C θ S ψ S θ S ϕ + C ψ C ϕ S ψ S θ C ϕ C ψ S ϕ S θ C θ S ϕ C θ C ϕ
where C denotes cos and S denotes sine.
The transformation between the rates of Euler angles in the inertial frame denoted as Θ ˙ = [ ϕ ˙ , θ ˙ , ψ ˙ ] and the angular velocities measured in the body frame, represented as Ω = [ p , q , r ] is defined as follows:
Ω = W η Θ ˙
where
W η = 1 0 sin θ 0 cos ϕ sin ϕ cos θ 0 sin ϕ cos ϕ cos θ
The non-linear model of the octocopter is approximated around the hovering equilibrium point by assuming small roll and pitch angles, which applies C ϕ = C θ = 1 and S ϕ = S θ = 0 . This approach reduces W η to the Identity Matrix I 3 × 3 . As a result:
Ω = Θ ˙

2.2. Dynamics

In order to derive the equations of motion and develop the dynamic model of the octocopter, we applied the Newton–Euler method.
The translational equation of motion is derived as follows:
m p ¨ = m G + R T B
m x ¨ y ¨ z ¨ = m 0 0 g + C ψ C θ C ψ S θ S ϕ S ψ C ϕ C ψ S θ C ϕ + S ψ S ϕ S ψ C θ S ψ S θ S ϕ + C ψ C ϕ S ψ S θ C ϕ C ψ S ϕ S θ C θ S ϕ C θ C ϕ T B
where T B is the total thrust of rotors.
The rotational equation of motion is defined as:
M = d H d t
where M is the external torque applied to the octocopter, and H is the angular momentum. The above equation can be written as:
M = I Ω ˙ + Ω × I Ω
where Ω is the angular velocity and I denotes the moment of Inertia tensor, I x y = I y x = I x z = I z x = I z y = I y z = 0 . Substituting into Equation (9), we obtain:
M x M y M z = I x ϕ ¨ + I z I y θ ˙ ψ ˙ I y θ ¨ + I x I z ϕ ˙ ψ ˙ I z ψ ¨ + I y I x θ ˙ ϕ ˙
By combining the translational motion described by Equation (7) and the rotational motion captured by Equation (10), we can now present the complete non-linear dynamic model of the octocopter:
x ¨ = ( cos ϕ · sin θ · cos ψ + sin ϕ · sin ψ ) · T B m y ¨ = ( cos ϕ · sin θ · sin ψ sin ϕ · cos ψ ) · T B m z ¨ = g + ( cos ϕ · cos θ ) · T B m ϕ ¨ = θ ˙ ψ ˙ ( I y I z I x ) + M x I x θ ¨ = ϕ ˙ ψ ˙ ( I z I x I y ) + M y I y ψ ¨ = θ ˙ ϕ ˙ ( I x I y I z ) + M z I z
The thrust force T B and torque M are generated due to the angular rotation of rotors, in which each rotor generates force f i in the rotor axis direction. In addition, it generates torque τ i around its axis:
f i = k ω i 2 ,   τ i = b ω i 2
where k and b denote the lift coefficient and the drag factor, respectively. These coefficients link the square of the motor’s angular speed proportionally with the resulting force and torque. They are positive parameters determined by the shape of the blades and the air density, and are typically derived from experimental measurements [29]. Therefore, the total thrust vector ( T B ) exerted on the body axes can be defined by adding the forces of the eight rotors:
T B = i = 1 8 | f i | = k i = 1 8 ω i 2
In our model, there are two sets of rotors: those in the (+) position rotate clockwise, while the rotors in the (×) position rotate counterclockwise, and the angle between each rotor is 45 degrees. The moment about the X B axis is created due to the difference between the lift forces of rotors 3, 4, 8 and 5, 6, 7 as follows:
M x = l k ( 2 2 ω 3 2 2 2 ω 4 2 + 2 2 ω 5 2 + 2 2 ω 6 2 + ω 7 2 ω 8 2 )
where l is the length of the arm between the rotor and the center of gravity of the octocopter.
Similarly, the moment about the Y B axis is given by the following relation:
M y = l k ( ω 1 2 + ω 2 2 2 2 ω 3 2 + 2 2 ω 4 2 2 2 ω 5 2 + 2 2 ω 6 2 )
The moment around the Z B axis is created by the reactive torque generated by the opposing sets of rotors. This moment can be represented as follows:
M z = b ( ω 1 2 + ω 2 2 ω 3 2 ω 4 2 ω 5 2 ω 6 2 + ω 7 2 + ω 8 2 )
Now we can combine all these equations and define the total force and the total torque applied on the octocopter around the x, y, and z-axes in terms of the rotors’ angular velocities as follows:
T B M x M y M z = k k k k k k k k 0 0 2 2 l k 2 2 l k 2 2 l k 2 2 l k l k l k l k l k 2 2 l k 2 2 l k 2 2 l k 2 2 l k 0 0 b b b b b b b b ω 1 2 ω 2 2 ω 3 2 ω 4 2 ω 5 2 ω 6 2 ω 7 2 ω 8 2
Finally, Equations (11) and (17) represent the core of our theoretical model, which captures the dynamics of the octocopter. The model inputs are defined as the angular velocities of the eight motors, while the outputs consist of the translational accelerations [ x ¨ , y ¨ , z ¨ ] and the angular accelerations [ ϕ ¨ , θ ¨ , ψ ¨ ] .

3. Controller Design and Simulation Setup

In order to design the controller that will be implemented in our vehicle, we built the theoretical model of the conventional frame derived from the last section within the Matlab Simulink environment to obtain the initial estimates of the controller gains that will be employed to fly the actual model. As depicted in Figure 2, the Simulink model structure comprises two main blocks. The controller block is responsible for generating the control signals necessary for directing the vehicle’s movements to the desired response, while the second block incorporates the octocopter’s motion dynamics, including rotor dynamics, inertial properties, aerodynamic interactions, battery and power modeling, environmental conditions, and external disturbances.
The control process has an essential role in the octocopter’s overall performance. It achieves the required characteristics, ensures flight stability, allows precise navigation and maneuvering, and guarantees the safety of the octocopter during flight operations through managing various aspects of the octocopter’s behavior, including its orientation, altitude, and speed. Our control architecture is designed based on a standard cascaded structure, including two control loops: the inner loop controls the model’s attitude, and its sampling time is five times faster than the outer loop, while the outer loop controls the aircraft’s position. As illustrated in Figure 3, we can categorize the controller structure into four distinct phases:
  • Position control: In this phase, we determine the desired roll angle ϕ d , pitch angle θ d , and the total thrust f d based on the desired position p d .
  • Attitude control: Here, we calculate the desired moment τ d according to the desired attitude angles ϕ d , θ d , and ψ d .
  • Control allocation: This phase involves converting the desired inputs ( f d and τ d ) to equivalent propeller angular velocities ω d , k (where k ranges from 1 to n r motor).
  • Motor Control: It calculates the desired throttle command for each motor, σ d , k based on ω d , k for each k in the range of 1 to n r .
The proportional–integral–derivative (PID) controller is employed to control both the position and attitude of the octocopter. Attitude control is achieved by utilizing two nested loops: the outer loop is controlled by the proportional control of the angles [ ϕ , θ , ψ ], while the inner loop employs PID control for the angular velocity [ ϕ ˙ , θ ˙ , ψ ˙ ]. The attitude control equations are expressed as follows:
τ ϕ = k p 1 ϕ d ϕ + k p 2 ϕ ˙ d ϕ ˙ + k i 2 ϕ ˙ d ϕ ˙ d t + k d 2 d d t ( ϕ ˙ d ϕ ˙ )
τ θ = k p 1 θ d θ + k p 2 θ ˙ d θ ˙ + k i 2 θ ˙ d θ ˙ d t + k d 2 d d t ( θ ˙ d θ ˙ )
τ ψ = k p 1 ψ d ψ + k p 2 ψ ˙ d ψ ˙ + k i 2 ψ ˙ d ψ ˙ d t + k d 2 d d t ( ψ ˙ d ψ ˙ )
The Simulink model that implements the control of the ( ϕ ) state is shown in Figure 4, where the desired roll angle ( ϕ d ) is input from the position controller loop, and the output represents the torque sent directly to the control allocator. Similar models exist for pitch and yaw control.
The position controller compromises two loops: an inner loop involves PID speed control for [ x ˙ , y ˙ , z ˙ ], and an outer loop utilizes proportional control for displacement [ x , y , x ]. In the x and y states, the effect of yaw angle rotation ( ψ ) is incorporated. Additionally, in the z state, the octocopter is considered an offset added to the controller output to accurately control altitude.
The equations governing the position controller are as follows:
θ d = k p 2 x ˙ d x ˙ + k i 2 x ˙ d x ˙ d t + k d 2 d d t ( x ˙ d x ˙ )
ϕ d = k p 2 y ˙ d y ˙ + k i 2 y ˙ d y ˙ d t + k d 2 d d t ( y ˙ d y ˙ )
x ˙ d = k p 1 [ x d x cos ( ψ ) + y d y sin ( ψ ) ] , y ˙ d = k p 1 [ y d y cos ( ψ ) x d x sin ( ψ ) ]
f d = k p 1 z d z + k p 2 z ˙ d z ˙ + k i 2 z ˙ d z ˙ d t + k d 2 z d t ( z ˙ d z ˙ ) + m g
The Simulink model depicted in Figure 5 illustrates the controller for the x , y states. The output of this controller represents the desired roll and pitch angles ( θ d , ϕ d ) sent to the attitude control loop. For the z state, the model is similar but without the effect of ψ , and its output represents the thrust force command sent to the control allocator.
We conducted rigorous parameter tuning for these PID controllers using the MATLAB R2023a automated tuning tool to achieve optimal performance of the model. Tuning was performed sequentially, focusing initially on the inner loops with disregarding the effect of the outer loop. Once the inner loop tuning was completed, we moved to the outer loops. The simulation was carried out, and the model was subjected to extensive simulations within the Simulink environment to ensure the octocopter’s stability during different flight tests.
The controller gains obtained from the simulation are summarized in Table 1, providing insight into the specific parameters used to achieve desired control performance in our model.

4. Methodology

In this section, we provide a comprehensive overview of the methodology employed to design, set up, and conduct flight tests with our novel two-layer octocopter model to gather essential data required for system identification. We begin by outlining the design and assembly process, including the integration of various components. Subsequently, we explain the approach used for data collection from the onboard sensors during flight tests.

4.1. Hardware Setup

In this study, we employed a two-layer octocopter configuration with eight rotors arranged across two layers. The upper four rotors follow a (+) configuration, while the lower four are distributed in a (×) configuration. This design deviates from the conventional octocopter setup, where all eight rotors are aligned on a single plane. It is also distinct from the coaxial configuration, where each arm of the octocopter features two rotors, with one rotor positioned above the other. This novel two-layer design optimizes the spatial distribution, allowing for the integration of larger rotors, which in turn increases the drone’s capabilities [16]. The following Figure 6 demonstrates the CAD model of our octocopter model designed using Fusion 360 software.
The physical dimensions and parameters obtained from the CAD model for our octocopter model are summarized in Table 2, providing insight into its structural characteristics and properties. These parameters are essential for the controller design and implementation phase.
The final prototype of our octocopter demonstrated in Figure 7 highlights a robust design constructed using high-quality aluminum sheets to ensure both strength and lightness. In this prototype, rivets were used to create a stable and strong connection between the aluminum sheets. Moreover, custom rotor mounts were designed using Fusion360, and manufactured using a 3D printer. The utilization of 3D printing technology allowed the production of customized parts with critical parameters taken into account, such as weight and strength. Different filament colors were used to identify various aspects of the octocopter, such as the front (white) and the back (black). Different holes were drilled through the aluminum frame to reduce the overall weight. To assemble the octocopter, there are various important components that are needed. The required components are usually sold individually, and this is to allow for further customization of the multi-rotor drone design and specification. The following components are present in most multi-rotor drones:
  • Fuselage: the frame where drone components are mounted, chosen for structural properties like strength, rigidity, and weight.
  • Battery: main power source, commonly lithium polymer for high energy density.
  • GPS: module for locating and automating drone flight by connecting to satellites.
  • Telemetry: a device that allows real-time data transfer between the drone and the ground station.
  • Propeller: a device that generates the thrust force by transforming rotational motion into linear motion.
  • Rotor: considered to be the main propulsion system of the multi-rotor drone.
  • Flight Controller: the drone’s “brain”, which processes signals from sensors such as a barometer, gyroscope, and GPS and remote controller, then sends output signals to actuators.
  • Electronic Speed Controller (ESC): a device that regulates the rotor speed based on signals from the flight controller.
The following Table 3 lists the components that are used in the octocopter. As some components were designed and manufactured in the labs, such as the fuselage and the rotor mounts, these components are not mentioned in the table provided.

4.2. Data Collection

Collecting data during flight tests of the octocopter is an essential task in the system identification approach. To accomplish this, we utilized the Pixhawk flight controller to fly the model, which incorporates a wide range of sensors to detect real-time data that effectively capture the octocopter’s flight performance. These sensors include gyroscopes to measure the angular rates around roll, pitch, and yaw axes, while accelerometers are utilized to figure out the linear acceleration in the three-dimensional space. Magnetometers are employed to ascertain the orientation of the octocopter relative to the Earth’s magnetic field, which plays an indispensable role in providing the proper heading of the octocopter. To measure the altitude from the ground, barometers are integrated into the system. Finally, the global positioning system (GPS) is essential in assessing the octocopter’s precise location of the octocopter, enabling accurate navigation and real-time position tracking. All these sensors collaboratively provide insight into the octocopter’s flight behavior.
These collected data are subsequently employed in the state estimation process in which the Extended Kalman Filter (EKF) is applied to accurately estimate the octocopter’s states. The EKF, a sensor fusion technique well known for its accuracy in non-linear systems, integrates the data from these multiple sensors with the mathematical model of the octocopter’s dynamics to provide reliable and high-accuracy data for the octocopter’s essential states, including position, velocity, and orientation.
We conducted a series of outdoor flight tests as shown in Figure 8 to gather data that completely demonstrates the dynamic behaviors of our octocopter under various flight scenarios, allowing for the development of a system identification model that could accurately represent the octocopter’s model across a range of operating conditions.
To simulate the real-world conditions and environmental effects, including wind variations, we strategically selected a set of target points in a three-dimensional space. These target points were positioned at varying locations and altitudes and at different times throughout the day. Figure 8 outlines an example of the flight mission scenarios that we designed to test the capabilities of the model and gather essential data for subsequent analysis and system identification. This approach allowed us to simulate the intricacies of real-world flight conditions, providing rich data for the identification process.
In our identification process, our primary focus is to identify the position and altitude states of the octocopter. Therefore, we recorded the (PWM) signals throughout flight tests, which represent the control inputs that regulate motor speed. Additionally, our data collection encompassed readings from accelerometer, barometer, and GPS sensors. Subsequently, this dataset was filtered using the Extended Kalman Filter (EKF) to yield the accurate three-dimensional location of the aircraft.

5. System Identification

System identification is a powerful method to develop dynamic models based on the experimental data gathered from both the control inputs and measured outputs of a system. This approach enables the derivation of an accurate model capable of capturing the inherent dynamical behavior of the system. In our context, we have a multi-input multi-output (MIMO) system with eight inputs that cannot be independently excited, as they are correlated through control allocation that allocates thrust and moment commands to angular velocities for the eight rotors. To address this, we employed the transfer function identification technique utilizing the prediction error method (PEM) to estimate the parameters of the transfer functions as explained in the following subsection.

5.1. Model Construction

As outlined in [30], consider the identification of a multiple-input multiple-output (MIMO) transfer function. The transfer function G i j ( s ) denotes the relationship between the j-th input and the i-th output of the system, represented as:
G i j ( s ) = Y i ( s ) U j ( s ) = b 0 s m + + b m s n + a 1 s n 1 + + a n
Here, m and n denote the orders of the numerator and denominator, respectively.
Our primary objective is to estimate the coefficients b i and a i to construct the most suitable model for the measured input–output data.
Let u and y represent the input and output of the system, respectively. We combine the historical data up to time N in the vector Z N :
Z N = [ u ( 1 ) , y ( 1 ) , u ( 2 ) , y ( 2 ) , , u ( N ) , y ( N ) ]
The prediction error method offers a systematic approach to estimate the parameters of a transfer function model that closely aligns with the observed system dynamics. This methodology can be summarized in the following steps:
  • We describe the model as a predictor for the subsequent output, defined as:
    y ^ m ( t | t 1 ) = f ( Z t 1 )
    where y ^ m denotes the posterior prediction of the output, and f represents the function linking the previous observed data.
  • By introducing a finite-dimensional parameter vector θ , we parameterize this predictor as:
    y ^ ( t | θ ) = f ( Z t 1 , θ )
  • To obtain θ ^ N as an estimate of θ from the model parameterization and the measured data vector Z N , we minimize the model prediction error ϵ t ( θ ) , defined as:
    ϵ t ( θ ) = y ( t ) y ^ ( t | θ )
    where ϵ t ( θ ) represents the variance between y ^ ( 1 | θ ) , , y ^ ( N | θ ) , and y ( 1 ) , , y ( N ) .
Considering a simple linear difference equation for the predictor model:
y ( t ) + a 1 y ( t 1 ) + + a n y ( t n ) = b 0 u ( t 1 ) + + b m u ( t m )
The predictor simplifies to:
y ^ ( t | θ ) = a 1 y ( t 1 ) a n y ( t n ) + b 0 u ( t 1 ) + + b m u ( t m )
We express the parameter vector θ as:
θ = a 1 a n b 0 b m T
This representation allows us to rewrite the predictor as a linear combination of past inputs and outputs, facilitating the parameter estimation process.
Moving forward, we estimate the parameter θ as:
θ ^ N = arg min θ V N ( θ )
where the objective function V N ( θ ) is defined as:
V N ( θ ) = 1 N t = 1 N ( ϵ t ( θ ) )
Here, represents a loss function, e.g., ( e ) = e 2 .
Subsequently, we apply the Gauss–Newton iterative optimization method to obtain the parameter estimates θ ^ N . This iterative process involves the following:
  • Initializing the parameter estimate θ ( 0 ) and setting the iteration counter i = 0 .
  • Computing the predicted output values y ^ ( t | θ ( i ) ) for all time steps based on the current parameter estimate θ ( i ) .
  • Calculating the gradient vector g ^ i and the Hessian matrix R i to update the parameter estimate:
    g ^ i = V N ( θ ( i ) )
    R i = V N ( θ ( i ) ) 1 N t = 1 N ψ ( t , θ ( i ) ) ψ T ( t , θ ( i ) )
  • Solving the linear system for the parameter update Δ θ ( i ) :
    Δ θ ( i ) = ( R i ) 1 g ^ i
  • Updating the parameter estimate:
    θ ( i + 1 ) = θ ( i ) + Δ θ ( i )
  • Checking for convergence or termination criteria and repeating the process until convergence is achieved.
Through this iterative optimization process, we iteratively update the parameters θ until convergence is achieved, ensuring an accurate representation of the system’s states.
To model the dynamics of the octocopter and identify the transfer function relating its x, y, and z states to the motor signals U 1 , , U 8 , we consider a multiple-input multiple-output (MIMO) transfer function representation. The transfer function for each state (x, y, z) will have its own set of coefficients corresponding to the inputs from the eight motors.
The model equations for each state (x, y, z) can be expressed as linear combinations of the past states and motor signals. For example, the equation for the x state might look like:
x ( t ) = i = 1 8 a x 1 i x ( t 1 ) a x n i x ( t n ) + b x 0 i U i ( t 1 ) + + b x m i U i ( t m )
where we have the following:
  • x ( t ) represents the x state at time t.
  • a x 1 i , , a x n i are the coefficients of motor i corresponding to the past states.
  • b x 1 i , , b x 8 i are the coefficients corresponding to the motor i signal.
  • Similar equations can be formulated for the y and z states.
Hence, we can express the parameter vector θ x as:
θ x = a 1 1 a 2 1 a n 1 b 0 1 b 1 1 b m 1 a 1 2 a 2 1 a n 2 b 0 2 b 1 2 b m 2 a 1 3 a 2 1 a n 3 b 0 3 b 1 3 b m 3 a 1 4 a 2 1 a n 4 b 0 4 b 1 4 b m 4 a 1 5 a 2 1 a n 5 b 0 5 b 1 5 b m 5 a 1 6 a 2 1 a n 6 b 0 6 b 1 6 b m 6 a 1 7 a 2 1 a n 7 b 0 7 b 1 7 b m 7 a 1 8 a 2 1 a n 8 b 0 8 b 1 8 b m 8 8 × ( n + m ) T
where n and m denote the number of poles and zeros, respectively.
Similarly, formulations for the parameter vectors θ y and θ z follow the same procedure. We implemented our approach using MATLAB software to efficiently handle the identification process mentioned earlier and extract the optimal values of the parameters θ . As a result, we effectively identified the transfer functions governing the dynamics of the x, y, and z states as detailed in Appendix A.

5.2. Model Validation

The model validation is an essential step that follows the model training. The Root Mean Square Error (RMSE) function is a commonly used performance measure in system identification that calculates the average squared differences between the measured and predicted outputs as expressed by the formula:
RMSE = i = 1 N ( y ^ i y i ) 2 N
where y i represents the measured output of the system, y ^ i is the predicted output, and N denotes the number of predicted data points.

6. Results and Discussion

In this section, we present the significant results that constitute the principal novelty contribution of our study. Although our study delved into various points, including the design process and material selection, the manufacturing process, the controller design, and the filtering of readings from onboard sensors, we are going to highlight the results obtained from identifying the transfer function governing the position and altitude states of the system.
The methodology employed to obtain these results is as follows: after the manufacturing of the octocopter model and tuning controller gains through the Simulink model, we utilized the Pixhawk, an open-source autopilot, to fly the model with the obtained controller gains. Using the mission planner software, we designed diverse missions in which the octocopter autonomously tracked predefined points on a map, each specified by longitude, latitude, and altitude. The selection of these points aims to collect a wide set of data representing various scenarios.
For the measured data, a sampling rate of 0.1 s was chosen to accurately capture position changes, based on GPS data fused with accelerometer and barometer readings. Simultaneously, PWM signals sent to the eight rotors were recorded. Through all flight tests, we collected rows of data containing inputs representing the eight PWM signals and three output signals representing position and altitude. Following data collection, we selected a set of flight test data and employed our approach to predict transfer functions that relate inputs to outputs. This process involved iterative optimization to determine the appropriate number of poles and zeros and their locations that accurately describe the model, ensuring high fit accuracy and low RMSE error. We then compared the identified model with other flight test data, iterating this process until obtaining a model that fit all collected flight test data. After completing our system identification procedure, we successfully identified the transfer functions outlined in Appendix A, which describe the translational dynamics of our innovative two-layer octocopter. These transfer functions, comprising five poles and three zeros, were carefully tuned to accurately reflect how the octocopter behaves under different conditions. The five poles in the transfer functions help the system handle various dynamic responses, such as those from the octocopter’s complex aerodynamics and motor actions. These poles are crucial for the stability and control of the UAV, as they determine how responsive the system is to changes in input. The three zeros, on the other hand, play a role in managing the system’s responses, helping to reduce any unwanted effects from specific frequencies. Additionally, analyzing these transfer functions helps us fine-tune our controller, ensuring the UAV performs well across different scenarios. Identifying these functions is a practical approach that significantly enhances how unmanned aerial systems operate in real situations. Our ability to predict the UAV behavior from just the control inputs and initial conditions distinguishes our research within the realm of UAV system dynamics.
Figure 9 illustrates the comparison between the predicted output of our model for the three states of the octocopter and the corresponding measured data and also represents the PWM input signals corresponding to the eight rotors. In this flight test, we directed the octocopter to take off and reach different altitudes while maintaining the same location, followed by a relocation and landing at a different point from its takeoff site. It is worth highlighting that, considering the nature of the two layers, the lower level’s control action generates more thrust than the higher level’s, and there is nearly a coupling between each of the two rotors due to the model’s symmetry. As depicted in the figure, the model successfully predicted the three output states.
Figure 10 demonstrates the prediction error of these states, with the Root Mean Square Error (RMSE) that measures the average difference between the predicted and actual values calculated at 0.0445 for the x state, 0.0840 for the y state, and 0.0604 for the z state. This quantitative assessment highlights the high accuracy and reliability of our identified model in capturing the system’s dynamics and predicting the octocopter’s states with an average error not exceeding 10 cm.
Our identified model underwent a validation phase consisting of nine distinct flight tests conducted in varying locations, altitudes, and at different times. This approach aimed to thoroughly assess the model’s performance under various real-world conditions, ensuring its robustness and reliability in different operational scenarios. During the validation process, we initialized the model with the initial states before flying, then provided inputs to the model and calculated the predicted states and the Root Mean Square Error (RMSE) between these predicted and measured data. The results of this extensive validation are summarized in Table 4 in terms of RMSE error in meters. These validation results demonstrate an impressive level of accuracy of our approach to predict the translational states of the system. Across all flight tests, the model consistently achieved an average error of 0.3 m for x state, 0.3 m for x state, and 0.25 m for z state. The figures depicting these flight tests, along with their corresponding predicted responses, are included in Appendix A.
The results from our model are promising, illustrating the potential of our approach in effectively identifying the transfer function governing the translational states of the octocopter, specifically when you have a challenging design. This step will lead to the design and analysis of more sophisticated controllers for this innovative configuration that offers a remarkable boost in thrust.

7. Conclusions

This paper presents the development and identification of the translational dynamics of a two-layer octocopter configuration. The primary achievement is the identification of transfer functions that directly relate the PWM inputs of the eight motors to the position and altitude states of the octocopter using the prediction error method (PEM). These transfer functions have been validated through various real-world flight tests under different environmental conditions, demonstrating remarkable accuracy with minimal RMSE error. A key advantage of our proposed system identification process is its straightforward methodology, which provides sequential steps, from the initial derivation of dynamical equations to the acquisition of transfer functions, that describe the octocopter’s motion in real-world conditions. This approach is versatile and can be extended to other multi-rotor configurations and even fixed-wing UAVs. Currently, we treat the model as a black box capable of predicting outputs from inputs without detailed analysis. Future investigations will focus on a detailed analysis of the identified transfer functions, their correlation with the physical model, and an investigation of response and stability characteristics. Overall, this research advances the understanding of UAV dynamics and offers a robust methodology for future UAV system identification efforts.

Author Contributions

Conceptualization, T.N.D. and M.M.K.; methodology, M.E. and R.K.; software, M.E.; validation, M.O. and S.K.A.; writing—original draft preparation, M.E. and R.K.; writing—review and editing, T.N.D. and M.M.K.; supervision, M.O.; project administration, S.K.A.; funding acquisition, T.N.D. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the United Arab Emirates University, grant number (12N098).

Data Availability Statement

The raw data supporting the conclusions of this article will be made available by the authors on request.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
PEMPrediction error method
UAVUnmanned aerial vehicle
VTOLVertical take-off and landing vehicle
MIMOMulti-input multi-output system
EKFExtended Kalman Filter
RMSERoot mean square error

Appendix A

Figure A1. Validation results of flight tests.
Figure A1. Validation results of flight tests.
Drones 08 00286 g0a1
Figure A2. Validation results of flight tests.
Figure A2. Validation results of flight tests.
Drones 08 00286 g0a2
Table A1. Identified transfer functions.
Table A1. Identified transfer functions.
Statexyz
U1 0.03763 s 3 + 0.002489 s 2 0.001584 s + 0.0001155 s 5 + 0.6445 s 4 + 0.5608 s 3 + 0.08863 s 2 + 0.01788 s + 0.001963 0.004774 s 3 + 0.0004801 s 2 0.0006251 s + 4.01 × 10 5 s 5 + 0.183 s 4 + 0.1968 s 3 + 0.03112 s 2 + 0.007083 s + 0.0009654 0.004539 s 3 + 0.001265 s 2 0.001198 s + 0.000185 s 5 + 0.4254 s 4 + 0.4546 s 3 + 0.163 s 2 + 0.0325 s + 0.003681
U2 0.006834 s 3 0.002947 s 2 + 0.0002309 s 5.883 × 10 6 s 5 + 0.1561 s 4 + 0.3549 s 3 + 0.0314 s 2 + 0.004891 s + 0.0003112 0.03762 s 3 0.005889 s 2 + 0.001507 s 0.0001432 s 5 + 1.223 s 4 + 0.3459 s 3 + 0.189 s 2 + 0.01474 s + 0.005842 0.0009036 s 3 + 0.0001257 s 2 5.012 × 10 5 s + 1.77 × 10 6 s 5 + 0.1076 s 4 + 0.5491 s 3 + 0.01299 s 2 + 0.02888 s + 0.0003198
U3 0.002853 s 3 + 0.0003496 s 2 0.0003795 s + 1.622 × 10 5 s 5 + 0.1433 s 4 + 0.3097 s 3 + 0.02573 s 2 + 0.003972 s + 0.0002574 0.004894 s 3 + 0.001171 s 2 0.0002954 s + 5.677 × 10 6 s 5 + 0.64 s 4 + 0.1353 s 3 + 0.05182 s 2 + 0.003813 s + 0.0007058 0.004021 s 3 + 0.0006801 s 2 7.302 × 10 5 s 1.04 × 10 5 s 5 + 1.175 s 4 + 0.733 s 3 + 0.3635 s 2 + 0.04381 s + 0.01292
U4 0.008742 s 3 + 0.004984 s 2 0.0002634 s + 9.384 × 10 7 s 5 + 0.1215 s 4 + 0.3774 s 3 + 0.007844 s 2 + 0.004491 s + 2.069 × 10 5 0.003143 s 3 + 0.001571 s 2 0.0006078 s + 2.056 × 10 5 s 5 + 0.09584 s 4 + 0.3482 s 3 + 0.02375 s 2 + 0.01813 s + 0.001071 0.001273 s 3 0.0008118 s 2 + 0.0003682 s 4.376 × 10 5 s 5 + 0.3127 s 4 + 0.4214 s 3 + 0.1158 s 2 + 0.02064 s + 0.002061
U5 0.003381 s 3 0.0004579 s 2 + 0.0001445 s 1.811 × 10 5 s 5 + 0.0637 s 4 + 0.5037 s 3 + 0.01239 s 2 + 0.03836 s + 2.315 × 10 6 0.009232 s 3 0.00176 s 2 + 0.001969 s 6.105 × 10 5 s 5 + 0.3486 s 4 + 0.3259 s 3 + 0.09574 s 2 + 0.009572 s + 0.001842 0.001381 s 3 + 0.0005894 s 2 0.0003129 s + 2.359 × 10 5 s 5 + 0.4434 s 4 + 0.3674 s 3 + 0.1123 s 2 + 0.02669 s + 0.003242
U6 0.005546 s 3 9.939 × 10 5 s 2 + 0.0001855 s 9.776 × 10 6 s 5 + 0.1817 s 4 + 0.4151 s 3 + 0.01623 s 2 + 0.01876 s + 3.792 × 10 5 0.01741 s 3 0.0009259 s 2 + 0.0005982 s + 1.107 × 10 6 s 5 + 1.638 s 4 + 0.1645 s 3 + 0.1609 s 2 + 0.005497 s + 0.002847 0.000354 s 3 0.001099 s 2 + 7.059 × 10 5 s 3.945 × 10 6 s 5 + 0.1835 s 4 + 0.3114 s 3 + 0.03359 s 2 + 0.009652 s + 4.099 × 10 5
U7 0.003118 s 3 + 0.000201 s 2 8.806 × 10 5 s + 3.771 × 10 7 s 5 + 0.3431 s 4 + 0.3228 s 3 + 0.1096 s 2 + 0.009678 s + 0.003016 0.05653 s 3 + 0.007174 s 2 0.001785 s 5.354 × 10 6 s 5 + 1.27 s 4 + 0.3704 s 3 + 0.1245 s 2 + 0.01474 s + 0.002413 0.002768 s 3 + 0.00159 s 2 0.0001924 s + 6.031 × 10 6 s 5 + 0.5096 s 4 + 0.5482 s 3 + 0.05477 s 2 + 0.02011 s + 0.0004455
U8 0.03252 s 3 + 0.002262 s 2 + 0.0009105 s + 3.706 × 10 5 s 5 + 1.289 s 4 + 0.7775 s 3 + 0.547 s 2 + 0.02208 s + 0.01494 0.003189 s 3 0.0004852 s 2 + 9.507 × 10 5 s 4.88 × 10 7 s 5 + 0.4673 s 4 + 0.09011 s 3 + 0.01618 s 2 + 0.001274 s + 8.676 × 10 5 0.006486 s 3 0.001106 s 2 + 0.001834 s 0.0001821 s 5 + 0.9811 s 4 + 0.4612 s 3 + 0.3733 s 2 + 0.02799 s + 0.008418

References

  1. Hassanalian, M.; Abdelkefi, A. Classifications, applications, and design challenges of drones: A review. Prog. Aerosp. Sci. 2017, 91, 99–131. [Google Scholar] [CrossRef]
  2. Dief, T.N.; Yoshida, S. System identification for quad-rotor parameters using neural network. Evergreen 2016, 3, 6–11. [Google Scholar] [CrossRef]
  3. Ahmed, F.; Mohanta, J.; Keshari, A.; Yadav, P.S. Recent advances in unmanned aerial vehicles: A review. Arab. J. Sci. Eng. 2022, 47, 7963–7984. [Google Scholar] [CrossRef] [PubMed]
  4. Dief, T.N.; Yoshida, S. System identification and adaptive control of mass-varying quad-rotor. Evergreen 2017, 4, 58–66. [Google Scholar] [CrossRef]
  5. Okasha, M.; Kralev, J.; Islam, M. Design and Experimental Comparison of PID, LQR and MPC Stabilizing Controllers for Parrot Mambo Mini-Drone. Aerospace 2022, 9, 298. [Google Scholar] [CrossRef]
  6. Yan, R.j.; Pang, S.; Sun, H.b.; Pang, Y.j. Development and missions of unmanned surface vehicle. J. Mar. Sci. Appl. 2010, 9, 451–457. [Google Scholar] [CrossRef]
  7. Dief, T.N.; Yoshida, S.; Abdelhady, M. Attitude and altitude stabilization of quad rotor using parameter estimation and self-tuning controller. In Proceedings of the AIAA Atmospheric Flight Mechanics Conference, Dallas, TX, USA, 22–26 June 2015; p. 2392. [Google Scholar]
  8. Saeed, A.S.; Younes, A.B.; Cai, C.; Cai, G. A survey of hybrid unmanned aerial vehicles. Prog. Aerosp. Sci. 2018, 98, 91–105. [Google Scholar] [CrossRef]
  9. Elhesasy, M.; Dief, T.N.; Atallah, M.; Okasha, M.; Kamra, M.M.; Yoshida, S.; Rushdi, M.A. Non-Linear Model Predictive Control Using CasADi Package for Trajectory Tracking of Quadrotor. Energies 2023, 16, 2143. [Google Scholar] [CrossRef]
  10. Osmic, N.; Tahirovic, A.; Lacevic, B. Octocopter Design: Modelling, Control and Motion Planning. arXiv 2022, arXiv:2212.01210. [Google Scholar]
  11. Weber, K.; Heweling, G.; Fischer, C.; Lange, M. The use of an octocopter UAV for the determination of air pollutants—A case study of the traffic induced pollution plume around a river bridge in Duesseldorf, Germany. Int. J. Educ. Learn. Syst. 2017, 2, 63–66. [Google Scholar]
  12. Zhang, B.; Tsuchiya, S.; Lim, H. Development of a lightweight octocopter drone for monitoring complex indoor environment. In Proceedings of the 2021 6th Asia-Pacific Conference on Intelligent Robot Systems (ACIRS), Tokyo, Japan, 16–18 July 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 1–5. [Google Scholar]
  13. Gong, A.; Sanders, F.C.; Hess, R.A.; Tischler, M.B. System identification and full flight-envelope model stitching of a package-delivery octocopter. In Proceedings of the AIAA Scitech 2019 Forum, San Diego, CA, USA, 7–11 January 2019; p. 1076. [Google Scholar]
  14. Dixit, A.; Misra, A.; Talole, S. UDE based Sliding Mode Control for Octocopter. In Proceedings of the 2020 First IEEE International Conference on Measurement, Instrumentation, Control and Automation (ICMICA), Kurukshetra, India, 24–26 June 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1–6. [Google Scholar]
  15. Haddadi, S.J.; Zarafshan, P.; Dehghani, M. A coaxial quadrotor flying robot: Design, analysis and control implementation. Aerosp. Sci. Technol. 2022, 120, 107260. [Google Scholar] [CrossRef]
  16. Zhu, H.; Nie, H.; Zhang, L.; Wei, X.; Zhang, M. Design and assessment of octocopter drones with improved aerodynamic efficiency and performance. Aerosp. Sci. Technol. 2020, 106, 106206. [Google Scholar] [CrossRef]
  17. Zhang, X.; Li, X.; Wang, K.; Lu, Y. A survey of modelling and identification of quadrotor robot. Abstr. Appl. Anal. 2014, 2014, 320526. [Google Scholar] [CrossRef]
  18. Pairan, M.F.; Shamsudin, S.S.; Zulkafli, M.F. Neural Network Based System Identification for Quadcopter Dynamic Modelling: A Review. J. Adv. Mech. Eng. Appl. 2020, 1, 20–33. [Google Scholar]
  19. Ljung, L. Perspectives on system identification. Annu. Rev. Control 2010, 34, 1–12. [Google Scholar] [CrossRef]
  20. Sonntag, D. A Study of Quadrotor Modeling. Master’s Thesis, Linkopings Universitet, Linkoping, Sweden, 2011. [Google Scholar]
  21. Rehor, J.; Havlena, V. Grey-box model identification–control relevant approach. IFAC Proc. Vol. 2010, 43, 117–122. [Google Scholar] [CrossRef]
  22. Kantue, P.; Pedro, J.O. Grey-box modelling of an unmanned quadcopter during aggressive maneuvers. In Proceedings of the 2018 22nd International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, Romania, 10–12 October 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 640–645. [Google Scholar]
  23. Sun, S.; Schilder, R.; de Visser, C.C. Identification of quadrotor aerodynamic model from high speed flight data. In Proceedings of the 2018 AIAA Atmospheric Flight Mechanics Conference, Kissimmee, FL, USA, 8–12 January 2018. [Google Scholar]
  24. Worden, K.; Wong, C.; Parlitz, U.; Hornstein, A.; Engster, D.; Tjahjowidodo, T.; Al-Bender, F.; Rizos, D.; Fassois, S. Identification of pre-sliding and sliding friction dynamics: Grey box and black-box models. Mech. Syst. Signal Process. 2007, 21, 514–534. [Google Scholar] [CrossRef]
  25. Stanculeanu, I.; Borangiu, T. Quadrotor black-box system identification. World Acad. Sci. Eng. Technol. 2011, 5, 276–279. [Google Scholar]
  26. Osmić, N.; Kurić, M.; Petrović, I. Detailed octorotor modeling and PD control. In Proceedings of the 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Budapest, Hungary, 9–12 October 2016; IEEE: Piscataway, NJ, USA, 2016. [Google Scholar]
  27. Adir, V.; Stocia, A. Integral LQR control of a starshaped octorotor. Incas Bull. 2012, 4, 3–18. [Google Scholar]
  28. Kocijan, J. Modelling and Control of Dynamic Systems Using Gaussian Process Models; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
  29. Tayebi, A.; McGilvray, S. Attitude stabilization of a VTOL quadrotor aircraft. IEEE Trans. Control. Syst. Technol. 2006, 14, 562–571. [Google Scholar] [CrossRef]
  30. Van Overschee, P.; De Moor, B. Subspace Identification for Linear Systems: Theory—Implementation—Applications; Springer Science & Business Media: Berlin, Germany, 2012. [Google Scholar]
Figure 1. The inertial and body frames of the octocopter.
Figure 1. The inertial and body frames of the octocopter.
Drones 08 00286 g001
Figure 2. Octocopter model in Simulink.
Figure 2. Octocopter model in Simulink.
Drones 08 00286 g002
Figure 3. Controller architecture for octocopter.
Figure 3. Controller architecture for octocopter.
Drones 08 00286 g003
Figure 4. Roll state controller.
Figure 4. Roll state controller.
Drones 08 00286 g004
Figure 5. Position state controller.
Figure 5. Position state controller.
Drones 08 00286 g005
Figure 6. Octocopter CAD model.
Figure 6. Octocopter CAD model.
Drones 08 00286 g006
Figure 7. Octocopter prototype.
Figure 7. Octocopter prototype.
Drones 08 00286 g007
Figure 8. Flight test scenario.
Figure 8. Flight test scenario.
Drones 08 00286 g008
Figure 9. Comparison between measured and predicted data.
Figure 9. Comparison between measured and predicted data.
Drones 08 00286 g009
Figure 10. Time history of the prediction error.
Figure 10. Time history of the prediction error.
Drones 08 00286 g010
Table 1. Controller gains.
Table 1. Controller gains.
StatePID Gains
PID
ϕ 6.5--
θ 6.5--
ψ 2.5--
ϕ ˙ 0.10.020.001
θ ˙ 0.10.020.001
ψ ˙ 0.50.010.001
x2.0--
y2.0--
z4.0--
x ˙ 2.50.40.01
y ˙ 2.50.40.01
z ˙ 0.450.010.005
Table 2. Octocopter model parameters.
Table 2. Octocopter model parameters.
ParameterValueParameterValue
m 4.3 kgl 0.35 m
I y y 6.016 × 10 1 kg m2 I z z 1.05 × 10 0 kg m2
I x z 3.57 × 10 6 kg m2 I y z 1.31 × 10 6 kg m2
I x y 1.65 × 10 6 kg m2 I x x 6.006 × 10 1 kg m2
k 1.105 × 10 5 kg m2b 1.779 × 10 7 kg m2
Table 3. Components used in the model.
Table 3. Components used in the model.
ComponentModel
Battery14.8 V 1300 mAh 4S1P lipo battery
GPS6 M module
TelemetryHolybro SiK Telemetry Radio V3 100 mW
PropellerDJI 9450-9
RotorSunnbySky 980 kV
Flight ControllerPixhawk
Electronic Speed Controller40 A
Table 4. Validation results of the model.
Table 4. Validation results of the model.
No. Flight TestRMSE_X (m)RMSE_Y (m)RMSE_Z (m)
10.54740.43150.4218
20.54740.41210.3000
30.67990.44730.4720
40.23970.25640.2930
50.23500.23820.1826
60.18130.09110.0910
70.20680.26450.1481
80.08230.17510.1690
90.15580.10600.1477
Average0.31950.26910.2472
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Elhesasy, M.; Khader, R.; Dief, T.N.; Kamra, M.M.; Okasha, M.; Alnuaimi, S.K. Experimental Identification of the Translational Dynamics of a Novel Two-Layer Octocopter. Drones 2024, 8, 286. https://doi.org/10.3390/drones8070286

AMA Style

Elhesasy M, Khader R, Dief TN, Kamra MM, Okasha M, Alnuaimi SK. Experimental Identification of the Translational Dynamics of a Novel Two-Layer Octocopter. Drones. 2024; 8(7):286. https://doi.org/10.3390/drones8070286

Chicago/Turabian Style

Elhesasy, Mohamed, Rashed Khader, Tarek N. Dief, Mohamed M. Kamra, Mohamed Okasha, and Saeed K. Alnuaimi. 2024. "Experimental Identification of the Translational Dynamics of a Novel Two-Layer Octocopter" Drones 8, no. 7: 286. https://doi.org/10.3390/drones8070286

Article Metrics

Back to TopTop