
Build a mathematical model and Python simulation of a quadrotor to design flight stabilization and position controllers, using the Crazyflie as an open-source reference for hardware and algorithms.
Examine the quadrotor as a system by detailing its frame, electronics, battery, motors, and propellers, and relate rigid body motion, PID flight control, and signal mappings to forces and torques.
Uncover how four propellers generate thrust and torque, use plus and cross configurations and two propeller types to achieve six maneuvers, with coupling and underactuation explained.
Introduces position, velocity and acceleration as vectors, and looks at translation and rotation motion.
Introduces Unit Quaternions and intrinsic Euler angles x-y-z
Relate external forces to linear and angular accelerations to analyze translational and rotational motion of rigid bodies, center of mass, and inertia matrix for quadrotor dynamics.
Summarizes the equations of motion for a rigid body, linking position and orientation to forces and torques. Introduces Euler's method for simple numerical integration.
Review feedback and controllers to illustrate how a controller converts outputs into inputs and creates a closed-loop system that reshapes the quadrotor dynamics toward the control objective.
Explore single input, single output pid controllers, including proportional, integral, and derivative terms, set point control, error correction, and tuning strategies, with practical examples in position, velocity, and cruise control.
Describe the typical quadrotor controller structure with position, altitude, and attitude controllers for hover and heading, using a small-angle hover model, decoupled channels, and model-inversion based allocation.
Stabilize the quadrotor's attitude by applying pd control to roll, pitch, and heading angles, using rate and angle feedback loops with gyroscope measurements in discrete-time simulations.
Explore position control for quadrotors, using decoupled horizontal and vertical channels and API control based on position and velocity errors, demonstrated via step responses and 10 hertz simulations.
This course takes you through the basic elements of building a physically based quadrotor drone simulation, and introduces elements of control theory, such as the feedback loop and PID controllers. You will learn about representing rotation in 3D space using rotation matrices, quaternions and Euler angles. You will learn to implement a discrete-time PID controller, and an entire PID-based controller structure for attitude and position control for non-aggresive flight. You will be provided with a reference implementation in Python to experiment with.