Grey-box System Identification of a Quadrotor
An object's movement is always described relative to a fixed point and a direction, known as a frame of reference. Typically, we use our surroundings as a frame of reference, which is called a global frame. However, we also use a local frame, based on our own position, when we describe direction using terms like "behind me" or "to my left." While robots operate in a global frame, their actuators work in a local frame, requiring a conversion of local movements into global displacements.
​
This is where a system model becomes crucial. For example, in the case of a drone, a system model considers local factors like roll, pitch, yaw, and thrust, converting them into global displacements along the X, Y, and Z axes. However, developing such models presents challenges, as they assume an ideal system-environment interaction that rarely exists in reality. Additionally, even with these assumptions, the resulting model is often so complex that it requires substantial computing power to use effectively.
Local and Global frames of reference in a Quadrotor
To address these challenges, data-driven approaches have been developed, where the system operates in the real world and its state information is stored. This data is then used to mathematically identify relationships between input and output, without relying on physical principles. However, this approach can lead to unwanted variable relationships due to a lack of knowledge about the underlying physics. To mitigate these issues, greybox system identification is employed, where a symbolic physics-based model is built and test data is fit to this symbolic model.
The objective of this project is to create a model of a quadrotor that calculates global displacement in the global frame based on local rotation angles and rotor power input. By applying propeller theory, 3D rotation theory, and Lagrangian mechanics, a system model is constructed, requiring the estimation of four constants representing gains along the three rotations and thrust.
Physics-based Symbolic System model
V represents the system bus voltage and P's are individual %PWM inputs to the rotors)
Coefficients Ct, Croll, Cpitch and Cyaw have to be estimated using data-driven methods
Results of the Ct and Croll identification tests
Ct is calculated by commanding the drone to hover (thrust = weight) and recording the power inputs to each rotor
Croll is computed by commanding a sinusoidal roll angle and calculating the roll acceleration
The three rotational coefficients are determined by commanding a sinusoidal rotation along a specific axis and recording the global displacements. The thrust coefficient is obtained by conducting a hover test and measuring the point at which the rotor thrust balances the drone's weight.
Results of the Cpitch and Cyaw identification tests
Both coefficients are computed by commanding a sinusoidal angles and calculating the corresponding accelerations
The final system model is obtained as:
Read the full report here: