Mathematical Model of QCopter

Coordinate Systems

To describe the dynamics of the quadro copter two coordinate systems are defined. An inertial system $\large XYZ$ and a body fixed system $\large xyz$. The location of the center of gravity is parameterized by the vector $\large\vec{r}$ and the orientation of the copter is parameterized by the euler angles $\large\phi_z, \phi_y, \phi_x$ which correspond to the angles for a rotation on the Z-axis, then a rotation on the resulting y'-axis and finally on x' '-axis (same as x-axis).

Using this euler parameterization yields in the following transformation matrix which transforms coordinates from body to inertial system:

Due to the symmetry the inverse can be calculated as the transposed matrix which transform coordinates from inertial to body system:

By a partial transformation of the change rate $\large\dot{\underline{\phi}}$ of the euler angles to body system and setting them equal to the angular velocities $\large\underline{\omega}_b$ expressed in body system, the following dependency can be calculated:

Forces and Torques

Cutting the copter free and drawing all forces and torques acting on the rigid body yields:

where $\vec{F}_i, \vec{M}_i$ are the forces and torques generated by the motors, $m\vec{g}$ is the weight and $\vec{R}$ is the air drag. The resulting force and torque of the motors acting on the center of mass can be calculated with:

Written in coordinates of the copter system yields:

The air drag is assumed to be proportional to the the squared velocity but in opposit direction:

Equations of Motion

The conservation of linear and angular momentum, set up in the center of gravity yield:

Expressed in coordinates:

QCopter/MathModel (last edited 2009-01-24 08:57:30 by StefanEngelke)