Free online course Autonomous Drone Systems, Swarm Intelligence and Control Engineering
Duration of the online course: 27 hours and 57 minutes
New
Build real autonomous drone skills with this free online course: control engineering, EKF, path planning, sensing and MATLAB demos, plus exercises and a certificate option.
In this free course, learn about
Drone system modules, roles of flight controller, and basics of multirotor operations/hover condition
Vector algebra for UAV modeling: dot vs cross products, coordinates, rotations/translations, frame transforms
Rigid-body motion in 3D: 6 DoF, rigid-body transforms, and why multirotors are underactuated
UAV sensor suite & limits: IMU/GPS/magnetometer heading, context sensors, and sensor-noise modeling in MATLAB
State estimation foundations: why needed, Kalman filter predict/update, Kalman gain meaning, EKF via Jacobians
Control fundamentals: feedback vs open-loop, Laplace transforms, transfer functions, stability/transient response
Second-order response metrics: damping ratio effects, overshoot/underdamped behavior, eigenvalues/eigenvectors
Controller design: pole placement conditions and PID tuning focus (integral term removes steady-state error)
Autopilot architecture: inner vs outer loops, control allocation, and trajectory tracking with nested PID loops
Planning & autonomy: global planning, A*, RRT* optimality via rewiring, and autonomy vs automatic systems
Sense-and-avoid: sensors/targets, trajectory prediction, artificial potential fields, and safety via CBFs
Verification workflows: scenario generation, SIL/HIL, PX4+Simulink closed-loop simulations before flight
Learning & swarms: deep learning vs ML, RNN/MNN+BPTT for prediction, and UAV swarm spatio-temporal tactics
About the free online course
Autonomous drones are no longer just flying platforms; they are full cyber-physical systems that must sense, estimate, decide, and control under uncertainty. This free online course takes you from the essential building blocks of multirotor operation to the engineering methods used to make UAVs stable, responsive, and increasingly independent in real-world missions.
You will connect math and intuition as you work with vectors, coordinate frames, and rigid-body motion, then turn those models into practical dynamic representations used in design and simulation. From there, the focus shifts to the nervous system of autonomy: sensors and estimation. You will see why real sensor data is imperfect, how noise impacts performance, and how classical Kalman filtering and Extended Kalman Filters help a drone infer its true state so it can fly safely when measurements are incomplete or unreliable.
Control engineering is treated as a toolset for building confidence in flight behavior. You will develop a clear understanding of feedback, Laplace transforms, transfer functions, transient response, and state-space methods, linking each concept to how an autopilot keeps altitude, attitude, and trajectory on target. Along the way, MATLAB demonstrations make abstract ideas concrete, and the included exercises help you test your grasp of stability, controllability, observability, and controller choices such as PID and pole placement.
As the course advances, autonomy expands beyond stabilization into motion planning and safety. You will explore global path planning approaches like A* and sampling-based methods such as RRT*, then connect planning to sense-and-avoid logic, decision making, and safety-critical navigation concepts such as artificial potential fields and control barrier functions. Simulation workflows are also emphasized, showing why SIL and HIL testing are essential before real deployment.
Finally, you will look at modern UAV intelligence: neural networks for aerial perception and trajectory prediction, plus the principles behind cooperative swarm behaviors and multi-swarm coordination for complex scenarios. By the end, you will have a coherent, engineering-driven view of how autonomous drones are built, validated, and improved—from first principles to emerging swarm applications.
Course content
Video class: Drone Systems and Control Intro09m
Exercise: Which set of topics best matches the five modules covered in the course on drone systems and control?
Video class: Lec 01 Introduction to the course39m
Exercise: Which statement best describes the role of the flight controller in an autonomous drone system?
Video class: Lec 02 Basics of drone operations30m
Exercise: In a multirotor UAV, what condition is required to hover at a constant altitude?
Video class: Lec 03 Tutorial 1: Vectors and coordinates26m
Exercise: In vector algebra for drone system modeling, what is a key difference between the dot product and the cross product of two vectors?
Video class: Lec 04 Tutorial 2: Vectors and coordinate transformations22m
Exercise: Which statement correctly classifies rotation and translation when transforming drone coordinate frames?
Video class: Lec 05 Coordinate frames and transformations20m
Exercise: In UAV control, why is a coordinate transformation between the body frame and the inertial (world) frame necessary?
Video class: Lec 06 Rigid body transformations25m
Exercise: For a rigid-body model of a drone, what is the total number of degrees of freedom (DoF) needed to completely describe its motion in 3D space?
Video class: Lec 07 Dynamic model of multirotors40m
Exercise: Why is a quadcopter considered an underactuated system?
Video class: Lec 08 Drone sensors25m
Exercise: Which sensor is primarily used to provide the drone’s absolute heading (direction) with respect to Earth’s magnetic field, especially helpful when GPS is unavailable?
Video class: Lec 09 Drone sensors - Context36m
Exercise: Which factor is highlighted as a key limitation when adding context sensors (e.g., LiDAR/camera/radar) for autonomous drone operation?
Video class: Lec 10 MATLAB demonstration - drone sensors08m
Exercise: Why is it important to add realistic sensor noise when simulating UAV sensors in MATLAB?
Video class: Lec 11 Basics of Estimation40m
Exercise: Why is state estimation essential for controlling and navigating an autonomous drone?
Video class: Lec 12 Kalman filtering Technique43m
Exercise: In a Kalman filter used for drone navigation, what does the Kalman gain primarily determine during the update step?
Video class: Lec 13 Extended Kalman Filters (EKF)29m
Exercise: How does an Extended Kalman Filter (EKF) handle nonlinear drone dynamics or sensor models?
Video class: Lec 14 Matlab Demonstration of Kalman Filtering14m
Exercise: In Kalman filtering for drone state estimation, what are the two main iterative steps performed at each time step?
Video class: Lec 15 Matlab Demonstration of EKF23m
Exercise: In an Extended Kalman Filter (EKF), what replaces the linear state transition and measurement matrices when handling nonlinear models?
Video class: Lec 16 Introduction to Control Systems59m
Exercise: In drone altitude-hold control, what is the main advantage of using a closed-loop (feedback) system instead of an open-loop system?
Video class: Lec 17 Laplace Transforms29m
Exercise: In control engineering for autonomous drone systems, what is the primary advantage of using the Laplace transform?
Video class: Lec 18 Matlab Demonstration of Laplace Transforms21m
Exercise: In control engineering for autonomous drone dynamics, what is the Laplace transform of the time-derivative \(\dot f(t)\) if \(\mathcal{L}\{f(t)\}=F(s)\)?
Video class: Lec 19 Transfer Function Representation34m
Exercise: In a negative-feedback control system, what is the closed-loop transfer function from reference input R(s) to output Y(s)?
Video class: Lec 20 Matlab Demonstration of Transfer Functions18m
Exercise: Which condition must hold for a transfer function representation to be valid?
Video class: Lec 21 Transient Response48m
Exercise: In transient analysis of a control system, what primarily determines the transient response behavior?
Video class: Lec 22 Matlab Demonstration of Transient Response20m
Exercise: For a standard second-order system, what damping ratio range produces a decayed oscillatory (underdamped) step response with overshoot?
Video class: Lec 23 Eigenvalues and Eigenvectors21m
Exercise: Which statement best describes an eigenvector of a matrix transformation used in control analysis?
Video class: Lec 24 State Space Representations20m
Exercise: Which statement correctly describes the transfer function obtained from a state-space model (assuming zero initial conditions)?
Video class: Lec 25 Matlab Demonstration of State Space Representations15m
Exercise: In MATLAB-based control design for an autonomous drone, which command converts a transfer function (numerator/denominator) into state-space matrices (A, B, C, D)?
Video class: Lec 26 Canonical Forms, State Transition Matrix (STM), Controllability, Observability41m
Exercise: Which condition is used to test complete state controllability of an LTI system in state-space form?
Video class: Lec 27 Examples on STM, Controllability and Observability22m
Exercise: Which condition is used to conclude that an LTI system is controllable from the controllability matrix?
Video class: Lec 28 Pole Placement Methods38m
Exercise: What is the necessary condition to arbitrarily place the closed-loop poles using full-state feedback (pole placement)?
Video class: Lec 29 PID Controller44m
Exercise: In a drone altitude PID controller, which term primarily helps eliminate steady-state error?
Video class: Lec 30 Drone Autopilot Design39m
Exercise: In a typical autopilot control architecture, what is the primary role of the inner loop compared to the outer loop?
Video class: Lec 31 Drone Autopilot Design31m
Exercise: In multirotor autopilot design, what is the main role of the control allocation module?
Video class: Lec 32 Drone Autopilot Design39m
Video class: Lec 33 MATLAB Demonstration of Autopilot Design35m
Exercise: In a quadcopter’s altitude (vertical) control, which PID term is mainly introduced to eliminate steady-state error so the vehicle reaches the exact desired altitude?
Video class: Lec 34 Global Path Planning29m
Exercise: Which statement best describes global path planning for an autonomous drone?
Video class: Lec 35 A* Algorithm for Global Path Planning21m
Exercise: In A* path planning, what does the total cost function f(n) represent?
Video class: Lec 36 RRT 36m
Exercise: Which feature primarily enables RRT* to converge toward an optimal (shorter) path as the number of samples increases?
Video class: Lec 37 Introduction to Sense-and-Avoidance (SaA)35m
Exercise: Which option best describes an autonomous system (as opposed to an automatic system) for drone operations?
Video class: Lec 38 Sensor for SAA, Trajectory Prediction, Decision making35m
Exercise: In sense-and-avoid for autonomous drones, which target categories most critically require active sensors because they do not communicate with the drone?
Video class: Lec 39 Artificial Potential Field (APF)40m
Exercise: In Artificial Potential Field (APF) based navigation, how is the drone’s motion direction determined at a position Q?
Video class: Lec 40 Control Barrier Function (CBF)50m
Exercise: In safety-critical drone navigation, what does a Control Barrier Function (CBF) primarily guarantee?
Video class: Lec 41 Trajectory tracking with PID Control40m
Exercise: In a nested control-loop architecture for drones, which statement correctly describes the roles of the outer and inner loops?
Video class: Lec 42 Scenario Generation for UAV Operations46m
Exercise: In scenario generation for UAV operations, why are software-in-the-loop (SIL) and hardware-in-the-loop (HIL) tests used before real deployment?
Video class: Lec 43 Scenario Generation with MATLAB Demonstrations32m
Exercise: In a UAV software-in-the-loop workflow using PX4 with a Simulink plant model, what is the primary purpose of running the closed-loop simulation before real flights?
Video class: Lec 44 Autonomous Drone46m
Exercise: In the autonomy levels described, what best characterizes Level 5 (full solo autonomy)?
Video class: Lec 45 Essential of Neural Network for Aerial Perception48m
Exercise: In aerial perception for autonomous drones, what is the key distinction of deep learning compared to traditional machine learning?
Video class: Lec 46 Recurrent Neural Network (RNN) for Trajectory Prediction40m
Exercise: Why are recurrent neural networks (RNNs) preferred over feed-forward networks for GPS-denied drone navigation trajectory prediction?
Video class: Lec 47 Memory Neural Network (MNN) for Trajectory Prediction39m
Exercise: Why is backpropagation through time (BPTT) used to train the memory neuron network for drone dynamics/trajectory prediction?
Video class: Lec 48 Emerging Technology in UAV Swarm38m
Exercise: In perimeter defense using a UAV swarm, why is the intruder-handling problem described as a spatio-temporal problem?
Video class: Lec 49 Cooperative Multi-swarm UAV Operation for Forest Fire Fighting25m
Exercise: In the forest-fire multiple-swarm UAV scenario, what does the "divide and distribute" rule ensure during quenching?