Given a delta time
Multirotor Kinematics Table of Contents
- 1. Motors Angular Velocity Derivative
- 2. Vehicle Angular Velocity Derivative
- 3. Vehicle Linear Velocity Derivative
- 4. Vehicle Orientation Derivative
- 5. Vehicle Position Derivative
Each motor can be modeled as a first order system, with a time constant
Where:
-
$\omega_{des}$ is the desired angular velocity of the motor between$\omega_{min}$ and$\omega_{max}$ . -
$\omega$ is the angular velocity of the motor. -
$\tau$ is the time constant of the motor dynamics.
Motors angular velocity changes produce a torque on the multirotor. Also, environment forces and torques produce a torque too.
The angular momentum of a rigid body is given by the product of the inertia matrix and the angular velocity vector:
Where:
-
$\vec{L}$ is the angular momentum of the multirotor -
$I$ is the inertia matrix of the multirotor -
$\vec{\omega}_{B}$ is the angular velocity of the multirotor in the body frame
Due to the Coriolis effect (or gyroscopic torque), the angular momentum derivative is:
Also, the angular momentum derivative is equal to the sum of all external torques acting on the rigid body:
Where:
-
$\vec{\tau}_i$ is the torque vector produced by the$i$ -th external force or torque.
Reordering the terms, the angular velocity derivative can be calculated as:
The sum of all external torques acting on the rigid body is exposed in dynamics section.
The velocity is calculated using the acceleration:
Where:
-
$\vec{a}$ is the acceleration of the multirotor.
The acceleration is calculated using Newton's second law of motion:
Where:
-
$m$ is the mass of the multirotor. -
$\vec{F}$ is the total force applied to the multirotor.
The total force applied to the multirotor is the sum of the forces applied to the multirotor by the rotors and the forces applied to the multirotor by the environment, exposed in the previous section.
The attitude derivate is calculated using the angular velocity (quaternion derivative), with the Hamiltonian product:
Where:
-
$q$ is the attitude of the multirotor. -
$\vec{\omega}$ is the angular velocity of the multirotor.
The position is calculated using the velocity:
Where:
-
$\vec{v}$ is the lineal velocity of the multirotor.