- Modelization, simulation and control of a quadcopter UAV
- Visualization of its trajectory and tracking performance
- Implementation of different nonlinear controlers (upcoming)
- Development of state estimators based on noisy measurements and inputs, and performance assessment (upcoming)
- Control based on the state estimates (to do)
- Add perturbations (wind gust) and parametric uncertainties (to do)
- Assess controlers robustness (to do)
The quadrotor is modeled using the full 6-DOF Newton–Euler equations (second law of Newton and Euler’s rotation equations), including nonlinear couplings, gyroscopic moments, and cross-inertia effects. A reference trajectory is used to evaluate controller precision and robustness (to do).
where:
-
$(x, y, z)$ : position -
$\dot{x},\dot{y},\dot{z}$ : translational velocity -
$(\phi, \theta, \psi)$ : roll, pitch, yaw -
$\dot{\phi},\dot{\theta},\dot{\psi}$ : angular velocity
- Rotation speed control for each motor (quadcopter: 4 motors)
To simplify we can consider command in torque that will be converted into a command in rotation speed of each motor:
where:
-
$T_B$ : total thrust -
$(\tau_{\phi},\tau_{\theta},\tau_{\psi})$ : roll, pitch, yaw torques
- Add the entire folder to the MATLAB path:
addpath(genpath("path/folder")) - Run the main script
quadcopter_command_main.musing MATLAB to launch the simulation - Run the script
plot3D_anime_body_frame.mto launch the animation window displaying the 3D trajectory of the quadcopter, its state evolution and the position reference to follow



