
Explore the UAV drone 3D dynamics and control, including deriving a mathematical model and applying MPC with constraints, reinforced by Python simulations and animations.
Attach a body frame to the quadcopter and describe its position and orientation in inertial frame with roll, pitch, yaw, and angular velocities P, Q, R via the right-hand rule.
The lecture shows a six-degree-of-freedom UAV using three position and three orientation dimensions, represented with Euler angles and rotation matrices, with inputs as propeller forces and moments for state-space equations.
This lecture explains how four drone propellers generate balanced torques: motors 1 and 3 ccw, 2 and 4 cw, using newton's third law and inertia to justify tail counter torque.
Explain torque balance in a helicopter-like UAV, showing how the tail rotor counteracts main rotor torque, derive tail force from torque and distance, and explain rotation directions.
Derive thrust as the first control action for a four-propeller drone; equal rotor speeds produce an upward thrust. Overcome gravity for takeoff: you one equals mass times z double dot.
Understand roll control action as torque about the body frame x axis, generated from three inputs; torque relates to angular acceleration via inertia, while the controller drives propeller speeds.
Explore the third control input, pitch (U3), with its newton-meter unit and positive rotation about the body frame y axis per right-hand rule, and practice generating U3 by thrust vectors.
Explore pitch control action u3, computed as inertia about the body y-axis times theta double dot, and yaw control action about the body z-axis, with an exercise on propeller configuration.
Adjust yaw by increasing M2 by Delta A rad/s and decreasing M1/M3 by Delta B rad/s, so the yaw torque about the body z axis equals inertia times angular acceleration.
Explore how the rotation vector points perpendicular to the rotation plane, guided by the right-hand rule, with angular velocity, angular acceleration, and angular position vectors defining direction and magnitude.
Examine the UAV control architecture with four inputs—thrust and three moments—and how the controller yields sigma values, then propeller speeds via an inverse plant, enabling an open loop model.
Follow up provides access to Python simulation files and the course summary in section eight, and explains installing the right Python versions and libraries for the UAV 3D dynamics simulations.
Learn six degree of freedom kinematics and dynamics for a quadcopter, contrasting motion without forces to motion under forces, and lay groundwork for deriving a mathematical UAV model.
Describe the drone's position and attitude in 3D space using inertial and body frames, applying kinematic equations and rotational matrices to define position vector P with X, Y, Z components.
Choose an inertial reference frame to measure the UAV's position, noting sign changes with frame placement; select a nearby frame for local tasks or a distant frame for long-range missions.
Describe the drone attitude using rotation matrices and Euler angles (phi, theta, psi) to relate body and inertia frames in radians, noting phi, theta, psi equal zero radians when aligned.
Decompose the longitudinal and lateral velocity vectors to show how the body frame shifts relative to the inertial frame, clarifying orientation angles.
Explore 2d rotation matrices to transfer vectors between body and inertial frames, using R and its inverse for position, velocity, and acceleration, then extend to 3d axes.
Explore the transition from 2d to 3d rotations about the z axis for inertial and body frames, and derive the z-axis rotation matrix. Practice with the new exercise.
Map the body frame coordinates to the inertia frame in 3-D using a rotation matrix about the Z axis, treating vectors as column vectors in inertial coordinates.
Learn the 3d rotation matrix about the z axis, showing how the body z axis leaves inertial x and y unchanged, with the matrix and its inverse for frame transformation.
Projecting from three-dimensional space to two-dimensional, this lecture covers rotation about a single axis using rotation matrices, the right-hand rule, and positive versus negative rotations about x, y, and z.
Explore projecting 3D drone orientation to 2D by rotating the body frame about the z, y, and x axes and constructing Rx and Ry matrices for pitch and roll.
Align body frame y with inertial frame y using the right-hand rule to construct the y-axis rotation matrix. Decompose body x and z in inertial frame using cosine and sine.
Construct the rotation matrix for a rotation about the x axis using the phi angle. Decompose the body frame y and z into horizontal and vertical components.
Explore orthonormal matrices and their key property that the inverse equals the transpose, with 3D rotation matrices as examples. Practice finding inverses by transposing these rotation matrices.
Explore orthonormal rotation matrices, rotating the body frame relative to the inertia frame about the z, y, and x axes, with inverses given by transpose; video merges rotations for altitude.
Learn 3d rotation sequences for a drone by applying x, y, z axis rotations of pi/2 radians in two orders and assess whether the body frames align.
Examine how rotating about x, then y, then z changes the drone’s body attitude relative to the inertia frame; the rotation order matters and uses rotation matrices and Fifita angles.
Transform the angular velocity from body to inertial frame using rotation matrices, with p, q, r and R_x, R_y, R_z rotations illustrating coordinate outcomes.
Transform body-frame coordinates to inertial frame using a z-y-x rotation sequence and rotation matrices, showing how Euler angles phi, theta, psi and angular rates p, q, r determine inertial coordinates.
Learn how Euler angles rotate the body frame, not the inertial frame, comparing moving-frame rotations with fixed-angle rotations and noting multiple attitude conventions.
Understand that the drone's attitude is unchanged across conventions, while the description method varies. Compare inertial versus moving body-frame rotations, with 24, 12, and 12 options.
Rotate body frame relative to inertial frame using the R x, y, z convention: first fixed angles, then moving body angles, rotating about x, then y, then z axes.
Explore how fixed-axis and moving-frame rotations determine a drone's pose using the x, y, z axes; compare the fixed angle approach with the oiler angle approach, with an exercise.
Demonstrate how fixed-angle rotations about inertial axes and oilor rotations about body axes can yield the same final orientation. This alignment happens when opposite sequences yield the same rotation product.
Clarify the 24 rotation matrix conventions (12 fixed-axis, 12 moving-frame) and derive three-matrix products that form the rotation transfer matrix.
Explain rotation matrix conventions for inertial and moving frames using X, Y, Z axes with gamma, beta, and alpha angles, and derive their product for drone dynamics.
Derives the rotation matrix product for the z-y-x convention and explains how fixed and moving axis conventions change the gamma, beta, alpha angle order in R_z, R_y, R_x.
Derive the R_XYX rotation product for fixed-axis convention, multiplying two R_X matrices with gamma and alpha and a Y rotation in between, and note moving-axis variant uses alpha, beta, gamma.
Compare rotation matrix conventions, such as X,Y,Z and Z,Y,X, and see how order changes body-frame coordinates while leaving inertial-frame angular velocity unchanged.
Examine rotation matrix conventions, comparing R_xyz and R_xyx examples, and show how body and inertial frames, component renaming, and transpose inverses yield correct coordinates.
Apply the rotation matrix using the z-y-x convention to convert body-frame velocities to the inertia frame, enabling UAV control with body-frame ẋ, ẏ, ż and angular velocities p, q, r.
Apply rotation matrices to convert velocities between the UAV's body frame and the inertial frame using a z-y-x Euler sequence, and use the transpose to obtain the inverse transfer matrix.
Derive the transfer matrix to connect body-frame angular velocities to inertia-frame components, revealing a two-angle (phi and theta) formulation that simplifies controller design.
Define a drone control approach that uses a simplified transfer matrix by assuming near-zero phi and theta, enabling slow, smooth trajectories for inspections of wind turbines and aircraft.
Near zero phi and theta, the transfer matrix becomes identity, simplifying the NPC controller and highlighting the Z-Y-X rotation convention for velocities.
Derive the transfer matrix linking body-frame angular velocity to the time derivatives of the Euler angles phi, theta, and psi via the z-y-x rotation sequence.
Derive the transfer matrix linking body-frame angular rates P, Q, R to Euler angle derivatives via R_y rotations between purple, green, and red frames, and obtain its inverse.
Derive the Rzyx moving-frame rotation matrix to connect true inertial and body frames, clarifying the correct matrix order for connecting frames in uav drone 3d dynamics.
Derive the transfer matrix by expressing vectors with identity blocks, use the inverse and transpose of the rotation matrix r x, and relate to the time-derivative angle vector.
Derive the transfer matrix by inverting the inverse, using linear algebra or symbolic tools, to connect Euler-angle derivatives to body-frame angular velocities under the Rz, y, x convention.
Derive and apply rotation and transfer matrices to relate inertial and body frame velocities, and assemble them into a six by six J matrix that links linear and angular rates.
Apply rotation and transfer matrices to convert body-frame linear and angular velocities to inertia-frame quantities, then integrate to obtain inertial positions and feed both frames into the controller.
Develop the six-degree-of-freedom dynamics formulation for quadcopter control by treating the drone as a rigid body, neglecting small bending, and focusing on thrust-driven motion.
Explain dot product as a scalar and introduce cross product, then apply work as w = f · s, with energy in joules and power in watts for two-dimensional motion.
Compute the work done by a 5 N force at 30 degrees over 20 m by decomposing into components. Apply dot product and the cos^2+sin^2 identity to obtain 100 joules.
Use the dot product to compute work for a 5 N force at 30 degrees with gravity, showing vertical motion cancels and horizontal displacement yields 75 J.
Compute work using the dot product for a system with an applied force and gravity, showing horizontal displacement yields work while gravity yields none, and introduce the cross product next.
Compute the cross product of two vectors to obtain a vector perpendicular to both, with magnitude proportional to the perpendicular component and direction given by the right-hand rule.
Compute the cross product of two three-dimensional vectors. Construct a three by three matrix with i, j, k and v1, v2; take the determinant with a minus sign on j.
Apply the cross product formula using 2x2 determinants to obtain the i, j, k components. See an example with A=5, B=6, C=7: 5i -6j +7k, perpendicular to v1 and v2.
Apply the three-dimensional cross product to compute moments about a point, using position and force vectors, respect vector order and the right-hand rule to get rotation direction.
Apply the cross product to predict the motion of a negatively charged electron in a uniform magnetic field, using F = q v × B to trace its curved trajectory.
Apply the right-hand rule to see how cross product determines the magnetic-field direction on an electron, reversing for negative charge and causing centripetal motion.
Explain mass moments of inertia in 3d, present the inertia tensor as a diagonal matrix with Ixx, Iyy, Izz, and relate it to angular velocity components P, Q, R.
Explore inertia tensor and products of inertia, showing how mass and distribution relative to the axis govern the mass moment of inertia, with hollow versus solid tubes on a ramp.
Compare hollow and solid tubes with the same mass and diameter to show how mass distribution affects mass moments of inertia, angular acceleration, and the inertia tensor.
Derive mass moment of inertia about the z-axis from a density-weighted differential volume, using distance squared and triple integrals via x, y, z coordinates.
Master the formulas for products of inertia and compute them via triple integrals of density; mass symmetry about all axes yields zero products of inertia in UAV 3D dynamics.
Explore how nonzero products of inertia in a mass-asymmetric body complicate angular accelerations and why engineers seek mass symmetry to reveal the principal axis and simplify the inertia tensor.
Derive the translational dynamics in the inertial frame using Newton's second law, showing force equals mass times acceleration and expressing it in i, j, k components.
Derive the translational motion in the body frame by relating net force to body-frame acceleration and accounting for the time derivatives of the body-frame unit vectors.
Express the derivatives of body-frame unit vectors I, J, K in terms of W_b, showing idot = w_b × I, jadot = w_b × J, kadot = w_b × K.
Derive the translational dynamics of a drone in the body frame, expressing net force as mass times acceleration with a rotation correction term, and relate it to six-degree-of-freedom motion.
Derive angular momentum in the inertial frame using inertia tensor and angular velocity; with a diagonal mass moment of inertia, the angular momentum vector aligns with the angular velocity vector.
Relate angular momentum and angular velocity in 3-D rotations by showing how the mass moment of inertia matrix governs their directions; design rotations about a single axis for stability.
Derive rotational motion equations in the inertial frame and analyze angular momentum and inertia. Switch to the body frame to simplify with diagonal principal inertia and zero products of inertia.
Derive rotational motion equations in the body frame, using the body-frame inertia matrix and angular velocity, and obtain the compact form dH/dt = I^B omega_dot^B + omega^B cross (I^B omega^B).
Describes the six degrees of freedom dynamics of a rigid body using the Newton-Euler formulation in the body frame, with mass moment of inertia, identity matrix, and net force-moment vector.
Derive the vehicle's lateral acceleration from body-frame forces and moments, accounting for centripetal correction due to rotation with the inertia frame, and justify the two-term lateral acceleration model.
Rewrite the dynamics using a six by six mass moment of inertia matrix and a six by one vector, showing equivalence of body-frame formulation across literature forms.
Derive the general Newton–Euler formulation for a rigid six-DOF body by forming the c.B and y matrices from cross-product terms, yielding the net force and moment vector.
Derive a state-space representation of the six dof Newton-Euler dynamics for a USV, converting the body-frame equations into first-order equations using translational and angular accelerations.
Derive the state-space form by moving the correction factor, applying the inverse of the mass and inertia matrix, and obtaining a compact six-by-six state equation.
Explore expressing gravity as an equivalent body-frame force vector through the drone’s center of mass, enabling net force and net moment in state-space form.
Compute the gravity force in the body frame by applying the inverse rotation matrix to the inertia-frame gravity vector, yielding lambda_g as a six-by-one vector.
Define the drone's six-by-one control input vector in the body frame, incorporating the four control inputs and the roll, pitch, and yaw moments, as part of a short exercise.
Examine how UAV gyroscopic effects arise from angular momentum changes in the body frame, with h dot = alpha dot cross h guiding precession under body-frame thrust and control moments.
Explore the gyroscopic effect on a four-propeller UAV by analyzing angular momentum from counterclockwise and clockwise propeller spins and applying the right-hand rule.
Explain how the drone's rotor angular momenta H1–H4 depend on rotor speeds and directions, noting that M2 and M4 have downward momentum while thrust remains upward.
Analyze how a UAV's four rotors create a net angular momentum and how external torques, like gravity, cause that momentum to chase the torque, with cancellation when rotor spins cancel.
Analyze how gravity passes through the drone’s center of mass, producing no moment, while rotor thrusts u2 and u3 create external torques that tilt the body as h_net chases them.
Explore how a four-rotor UAV demonstrates gyroscopic effect: external torque along body frame x axis changes total angular momentum, tilting h net from z toward y as the drone rotates.
This lecture explains that rotating the UAV about the positive y axis creates an opposite h_net dot y to balance the external moment, i.e., the time derivative of angular momentum.
Analyze the gyroscopic effect in a UAV by modeling how external torques rotate the net rotor angular momentum vector. Derive h_dot = omega_body cross h_net and explain off-axis responses.
Explore how the Newton Euler formulation for a UAV incorporates gravity, control inputs, and gyroscopic effects in a rotating body frame, leading to a gyroscopic-adjusted state space form.
Convert the six-degree-of-freedom Newton-Euler equations into a six-by-six state-space form by substituting force and moment vectors, assembling CB matrix and lambda vector, and applying the mass-inertia inverse; complete the exercise.
Convert the 6 dof newton-euler equations to a body-frame state-space UAV model, detailing the mass moment of inertia matrix inverse, diagonal cancellations, and the roles of gravity, gyroscopic effect, and controls.
Illustrate the plant controller loop, showing how body-frame states and inertial-frame references drive a state-space model, using Euler or fourth-order wrong acuta integration and omega input from four rotors.
Derive UAV plant schematics by composing rotation and transfer matrices to convert body-frame velocities to the inertia frame, using Euler angles, and outline integration boxes, Runge-Kutta methods, and MPC-ready control.
Learn how the Euler state integrator updates the UAV’s state by approximating delta phi with the slope times the time step, using area under the curve intuition.
Learn the fourth order Runge-Kutta integrator, compare it with the Euler method for state updates, and use it in real-time applications with state-based first-order differential equations and MATLAB ode45.
This lecture contrasts the Euler (oilor) method with the four-slope Runge-Kutta integrator, detailing k1–k4 and their weighted average.
Apply Runge-Kutta integration to evolve state-space models of a UAV, from initial states through time steps, compare with Euler method, and tune MPC and NPC controllers amid sensor noise.
Apply the Runge-Kutta 4 method to update state vectors for UAV drone 3D dynamics, using multiple time-slope estimates in body and inertial frames.
Use Runge-Kutta 5 method by computing the second slope at the state, projecting to t plus s over two, then form subsequent slopes and weighted average for the next state.
Applying the third slope in a Runge-Kutta integrator, the lecture shows how to compute a new predicted state at time T+2, labeled P K+1, using slope three.
Learn how the Runge-Kutta integrator updates a UAV 3D dynamics state using four slopes to compute the next state from the original state across a time step.
Apply the fourth-order Runge-Kutta method: compute four slopes, form a weighted average slope of twelve equations, and update all states in UAV 3D dynamics with x_{k+1}=x_k + h times slope.
Relate the control inputs u1, u2, u3, u4 to rotor angular velocities omega1, omega2, omega3, omega4 using blade element theory to compute the total omega for the drone's equations.
Apply blade element theory to analyze aerodynamic forces on a rotating airfoil, combining rotor-induced velocity and stream-tube effects to compute resultant air velocity and differential thrust.
Apply blade element theory to relate resultant air velocity, theta, and alpha to differential lift, drag, and thrust, then sum rotor thrusts for total drone thrust.
Relate differential thrust to differential lift and drag via vertical projections, using CL and CD, then rewrite DL and DR with the resultant velocity and omega_r^2 and V^2.
Use blade element theory with a small-angle approximation to relate rotor angular velocity Omega to thrust, then integrate differential thrust along the blade to obtain the total thrust.
Explains blade element theory to compute rotor thrust by integrating differential thrust along the blade, yielding a thrust factor C_T and an Omega squared dependence.
Compute total thrust from four rotors using T_i = C ω_i^2, then derive pitch and roll control moments by differential rotor thrusts (ω2^2–ω4^2 and ω3^2–ω1^2) to steer the drone.
Link control inputs to rotor angular velocities using blade element theory, showing how rotor torques produce opposite drone moment via the right-hand rule.
Explore blade element theory to compute the air-induced moment on a rotor blade by integrating differential forces along the blade, showing that constant omega balances the drone moment.
Apply blade element theory to compute the horizontal force from differential lift and drag, integrate over the blade radius for two blades, and derive the motor torque from omega squared.
Compute the drone's control moment eufor from the four rotor moments using blade element theory and sign conventions for clockwise and counterclockwise rotations.
Apply blade element theory to relate control inputs to rotor angular velocities, derive thrust and torque units, and invert equations to express omega1–omega4 in terms of u1–u4.
Compute the omega squared vector from control inputs using the inverse of the matrix, then take square roots to obtain omega1, omega2, omega3, and omega4 for drone motors.
Review how a bicycle model captures car lateral dynamics using a single steering angle and two reference frames to derive a state-based formulation with expanded states for the open-loop block.
Explore converting nonlinear drone dynamics to an LTI state-space form using a small yaw angle approximation, yielding constant matrices A, B, C, D for NPC-based control.
Demonstrate the differences between continuous and discrete LTI state-space forms, using the forward Euler method to show why democratizing the system yields discrete models for NPC.
This lecture reformulates the MPC cost to minimize input changes and errors via gradient-zero solving, then applies NPC to a UAV using LPV format and state feedback liberalization for 3D trajectories.
Explore the global control architecture for a drone, linking how inputs drive 12 states in body and inertial frames and how MPAC and feedback liberalisation collaborate.
Explore the drone controller globally, treating the plant as a black box. The planner generates six trajectories and feeds X, Y, Z to the feedback controller.
The lecture explains how a drone uses two controllers—position for X, Y, Z and attitude for phi, theta, psi—to work together via a feedback linear controller.
The planner computes a reference yaw from orientation for the npc controller, detailing positive and negative rotations and using 0 to 2π and 2π to 4π ranges to smooth trajectories.
The npc controller receives rapidly changing reference values from the planner and the feedback calendarization, preventing the drone from reaching each target before the next update.
Examine a two-loop UAV control scheme where a high-frequency inner loop delivers stronger dynamics, while a slower outer loop provides weaker dynamics with a four-sample horizon.
Show how reference trajectory equations from the planner, including BPCI r values, feed the NPC controller through outer-loop updates to guide a drone along 3D spirals and other paths.
The lecture derives first and second time derivatives for reference values and shows how the planner builds time table of x, y, z and derivatives to drive NPC controller states.
Review the NPC controller within the global control structure, showing how it minimizes the cost function by selecting U3 and EUFOR and their changes to track reference values.
Explain converting continuous to discrete lti state-space for an npc controller in a uav, deriving Ad and Bd from A and B, and highlighting outputs as states.
Apply mpc to uav dynamics by expressing the uav state space in the body frame and using the z-y-x transfer matrix to switch between inertial and body frames.
Apply the zero roll and pitch assumption to simplify the UAV dynamics, validating that small phi and theta keep gravity counteracted and control effective in the transfer matrix.
Under the small angle assumption, the attitude transfer matrix becomes the identity, so body angular rates map directly to phi dot, theta dot, and psi dot, simplifying the NPC controller.
Put the simplified state space equations into a linear-format form, noting time-varying A, B, C, D possibilities, and define outputs as phi, theta, psi with errors against reference values.
Convert the simplified equations into a linear state-space form, define a six-state vector, and select outputs (phi, theta, psi) via the C matrix.
The lecture shows converting UAV dynamics to a linear state-space form using a six-by-one state vector, a six-by-three input, and assembling the six-by-six A and six-by-three B matrices.
Construct the b matrix from control inputs divided by mass moments of inertia and reveal a nonlinear a matrix with phi dot and theta dot, showing mpc applicability.
Reframe nonlinear state-space equations into a linear form by embedding nonlinearity in the A matrix, updating it every 0.1 seconds for LPV MPC in UAV dynamics.
The LPV method extends linear control to nonlinear UAV dynamics by updating the A matrix with sensor data transformed by a transfer matrix, using small angle approximations.
Reformulate the nonlinear equations of motion into a nonlinear state-space model for autonomous vehicle and UAV, then discretize to A, B, C, D and apply NPC control.
Convert nonlinear state-based equations to discrete-time state-space form, deriving six-by-six A, six-by-three B, three-by-six C, and three-by-three zero D matrices for a six-state, three-input, three-output UAV model.
Explain a four-step lpv-mpc future-state prediction, expressing future states from the present state and a vector of control inputs, with only the first input applied to the plant.
Predict future states using a four-step horizon LPV-MPC with discrete A and B matrices. Compute X1 to X4 from the present state and control inputs in one compact matrix.
Expand the lpv concept to nonsimplified lpv-mpc, predicting four future states with inner loops and updating discrete a and b matrices every 0.1 seconds using omega and planner feedback.
Derive a matrix vector form for predicted states X1 to X4 and compare simplified LPV-MPC, which uses a fixed A0 across the horizon, with non simplified LPV-MPC that updates A matrices.
Explain the UAV cost function: a four-step horizon with a three by one control input, using diagonal weights Q, S, and R to quantify phi, theta, and ci errors.
Explore augmenting the state with control input increments to keep deltas small, derive augmented and future state vectors, and rewrite discrete dynamics with A, B and delta u.
Learn to convert equations into a six by six state-space form and build augmented A, B, C matrices for UAV dynamics, including delta u handling.
Review the UAV cost function with delta input increments and adjusted weight matrices. Derive the final cost form by applying previous course steps to augmented matrices and reference vectors.
Recaps the derivation by substituting delta with U, extending the horizon, and rewriting the cost function using augment state vectors, transposes, and a diagonal s matrix.
Eliminate constant terms in the cost function to focus on independent variables, distinguishing present state from future state, and form a prime cost for optimization.
Explore how four-step horizons define the global reference, augmented state, and global control moment increment vectors with future reference values and equal Phi R and Theta R.
Transform the G prime cost function into a matrix vector form by collecting terms into weight matrices Q double bar, T double bar, and our double bar, then determine dimensions.
Determine the dimensions of Q double bar, T double bar, and R double bar; verify submatrix sizes and zero blocks; rewrite the cost in compact J prime form.
Learn to augment the state and input to predict future UAV states, deriving A tilde and B tilde, and form a non simplified NPV cost function.
Derive gradient of cost function with respect to delta u, set to zero to obtain delta u global, and discuss updating H bar and F bar for parameter varying approach.
Understand model predictive control uses Q and R weights to balance error reduction and control effort; non-diagonal weights create cross terms that destabilize UAV dynamics, so diagonal weights are recommended.
Derive the inertial-frame equations of motion for position control from Newton's second law, linking xdd, ydd, zdd to u1 and gravity, and connect to MPC references.
Apply newton's second law to derive inertial-frame equations of motion for UAV position control, linking ẍ, ÿ, z̈ to gravity and rotated body-frame inputs u1 via a rotation matrix.
Examine the feedback linearization controller by forming an error vector from reference and state, then apply gains to drive errors to zero as time goes to infinity.
Analyze feedback linearization controller using reference states xr, xdotr, yr, ydotr, zr, zdotr to produce errors and inputs ux, uy, uz through rotation. Map phi_r, theta_r, and u1 for MPC.
Explore linear time invariant second order differential equations and their homogeneous forms. Apply these to UAV control by defining ux, uy, uz from x and e-dot-x with gains k1, k2.
Derive three homogeneous LTI second-order differential equations for x, y, z error dynamics under the control law with constants k, p, q to drive errors to zero.
Learn to solve a second-order differential equation by deriving the error, forming a general solution with two exponentials, and finding lambda from the quadratic lambda^2+lambda-6=0, yielding lambda1 and lambda2.
Solve a second-order differential equation with real roots using a general solution of e^(2t) and e^(-3t), then determine constants from initial conditions and verify by substitution.
Solve differential equations with real roots by verifying the error dynamics through first and second derivatives, and check the solution against the controller equation with k2=4 and k1=-13.
Solve a second-order lti homogeneous differential equation with complex conjugate roots; use Euler's formula to express the real solution as e^{2t}(C1 cos 3t + C2 sin 3t).
Solve a differential equation with complex roots by rewriting the general solution as e^{2t}[C1 cos(3t) + C2 sin(3t)], then determine the constants from initial conditions to obtain the explicit error function.
Understand how complex conjugate roots in a second-order differential equation yield real constants by canceling imaginary parts in A and B, and verify the solution against the equation.
Validate the differential equation solution by differentiating the proposed solution, substituting into the equation with initial conditions, and showing all terms cancel to yield zero equals zero.
Explore how exponent lambdas shape the error dynamics in a second-order LTI UAV control law, and compute k1 and k2 from λ1 and λ2 to drive error to zero.
Explore how eigenvalues (lambdas) govern error dynamics in control systems, showing damping with negative real parts, growth with positive parts, and oscillations with complex conjugates in UAV 3D dynamics.
Explore poles and the Laplace domain to design control behavior by choosing real or complex lambdas, placing poles for zero error, oscillation, or instability, and linking to k values.
Derive the relationship between poles and k values in the differential equation and express k1 and k2 as functions of lambda1 and lambda2.
Express K1 and K2 as functions of lambda one and lambda two by manipulating equations, square roots, and cancellations, then select poles to compute k1 and k2.
Convert a second-order differential equation with k1 and k2 into a linear time-invariant state-space form using the two-state vector [error, error dot] and the A matrix, identifying a homogeneous system.
Learn to convert differential equations to state-space form for linear time-invariant systems, derive eigenvalues and eigenvectors via determinants, and relate poles to system behavior in control engineering.
Compute eigenvectors for real eigenvalues in the A matrix with k1 = -2 and k2 = -3, showing y = -x and the vector direction matters for drone control.
Relate the Laplace domain with real and imaginary axes to the Fourier frequency domain on the imaginary axis, showing how imaginary poles set frequency and real parts govern damping.
this lecture shows linear time-variant dynamics with time-dependent poles and why pole placement works only for lti systems, then introduces linear parameter varying (lpv) robust control and contrasts with mpc.
Present feedback linearization schematics for x, y, z with three control laws, using the vector form and poles -1 and -2 to set k values -2 and -3.
Demonstrate how negative poles in x, y, z ensure the drone tracks reference trajectories through a feedback linearization and MPC loop, and how a small positive pole destabilizes the x-dimension.
Examine how real and complex poles in a 3D UAV dynamics controller influence x, y, z trajectory tracking, initial conditions, and thrust control.
Explore how real and imaginary pole parts drive the UAV's 3D dynamics, causing oscillations or damping, and how negative real parts and trajectory smoothness affect stability.
Explore feedback linearization schematics for UAV 3D dynamics, driving error and its derivative to zero in x, y, z with negative poles and derive u1, phi_r, and theta_r for MPC.
Compute the phi and theta control angles and derive their formulas from the drone dynamics, using tangent identities to express theta as arctan(a c + b d).
Compute phi and theta from tangent expressions, and avoid singularities with region-based equations. Reveal how the MPC uses five-element phi_r and theta_r vectors and how feedback linearization enables pole placement.
Learn to use Linux, macOS Terminal, and Windows Command Prompt to navigate folders, run Python files, and understand common commands like cd, clear, and tab completion.
Install the right Python versions, NumPy, and MATLAB to run simulations. Place main_lpv_npc_drone.py and its support file in the same folder, run the main file, and review code and results.
Install python on Windows 11, verify the setup with a hello world test, and install key libraries like numpy, matplotlib, SciPy, Cvxopt, SymPy, and control for UAV projects.
Install python 3.8 and numpy on ubuntu 20.04, then install pip and matplotlib to run simulations from the terminal, and run calculus_sym_pid_train.py from the desktop with python3.
Install qb solvers on linux ubuntu via terminal commands, then run a python simulation with a main file and a support file to generate and view the trajectory plot.
install python on macOS using python.org’s macOS 64-bit installer, preferring python 3.8.7 for library compatibility, then install pip and numpy and test via a hello world in the terminal.
Install QB solvers on macOS via pip, follow GitHub installation steps, resolve gcc toolchain prompts, then run a drone file with the solver to verify a solution.
Explain the drone simulation code structure with a main file and a support class, load initial constants, and describe the outer and inner loops driving a spiral trajectory.
Design and start tracking near the trajectory's beginning, align initial states with the reference, and create a smooth trajectory to avoid infeasible MPC solutions.
Navigate a drone simulation to identify positive body-frame x and y axes with red and green indicators, observe orientation, phi, theta, and psi dimensions, and Q3–Q4 control inputs.
Learn to implement a drag model in the UAV body frame using velocity-squared drag forces and coefficients, density, and cross-sectional areas, controlled by a drag switch to study forward motion.
Increase drag values to reveal the effect on drone tilt and forward velocity in spiral trajectories. Drag grows with velocity squared, boosting thrust requirements as radius expands and tilting rises.
Explore centripetal acceleration in a spiraling UAV path by analyzing how radius growth and increasing tangential velocity drive tilt to maintain v^2/r, with vector decompositions in body and inertial frames.
Explore how drag, trajectory six, and spiral motion shape phi and theta angles, centripetal acceleration, and tilting to generate forward thrust in a UAV 3D dynamics model.
Extract constants from the init vector, build a time vector from zero to one hundred seconds at 0.4 s, set inner loop and animation parameters, and call the trajectory generator.
Explore a python trajectory generator that builds the nine trajectories, including a spiral, from an init-driven selection, computes derivatives, and outputs reference vectors and states for the main control.
corrects unit errors in ct and cq for the UAV drone simulation by converting rpm-based units to newton second squared, ensuring realistic omega values and thrust levels.
Learn how a global UAV position controller uses nested outer and inner loops, computes error dynamics and adaptive gains, and safely derives attitude angles to avoid singularities.
Build the lpv discrete model in the inner loop, deriving A, B, C, D and updated velocity states. Discretize with forward Euler and augment for npc control with horizon references.
Differentiate between R and ref signals and show how the five-element ref signals array guides the NPC controller across inner and outer loops with linear reference progression.
Contrast an older fixed-reference approach with a new five-element yaw reference vector, showing smoother drone yaw motion about the z axis.
Explore NPC simplification within LPV-MPC for UAV 3D dynamics, detailing augmentation of discrete A, B, C, D to construct big bar matrices, and the role of gradients and inverses in computing delta.
Compute quadcopter propeller angular velocities using a four-rotor model, inverse matrix methods to obtain omega squared and omega, then apply a Runge–Kutta integration loop while noting a prior incorrect method.
Explore how to build and control Python animations with matplotlib, including setting up figures, updating plots, and visualizing 3D drone trajectories alongside X, Y, Z dimensions and control inputs.
Explore npc constraints in autonomous car mpc and 360 tracking. Model six states and two inputs, discretize with Euler, and apply constrained npc formulations using lpv matrices.
Minimize the MPC cost under delta zero and delta one constraints, moving from the unconstrained minimum to the feasible green region with delta zero 0.05 and delta one 0.07 radiance.
Explains how a 10-step mpc horizon with 20 variables yields a unique constrained solution that respects bounds, and how gradient optimization reaches a minimum only if h is positive definite.
Discover why gradient methods fail under linear constraints and how solvers such as kewpie and quadprog compute the constrained quadratic cost solution for UAV MPC.
Learn to convert cost and constraints into G and H, feed them to Kewpie solvers or quite prog, and obtain delta u global c under omega minimum and omega maximum.
applies mpc constraints to a uav drone, encoding rotor speed bounds into G delta_u <= h form. translates omega min/max into horizon-bound inequality constraints for the solver.
Apply MPC constraints to a UAV drone 2 by deriving minimum and maximum inputs from omega min and omega max and enforcing them on u1 through u4.
Explore how MPC constraints are reformulated for a UAV drone’s 3D dynamics, linking global and horizon variables to delta u global within an augmented state framework.
Learn to apply MPC constraints to a UAV by constructing an augmented state and a C tilde star matrix to extract components, yielding y1*, y2*, y3*, and y4*.
Reformulate the UAV drone MPC constraints for 3D dynamics and control, using C double bar and a double circle flex matrices to bound future inputs and outputs.
Examine a model predictive control exercise with horizon one, derive the quadratic cost, and show the unconstrained optimum is zero for delta delta zero and delta a0.
Explore how a minimum-cost solution under linear inequality constraints can be infeasible. The lecture shows solver errors from inconsistent constraints and suggests relaxing constraints or adjusting NPC weights.
Learn how to implement npc constraints in an mpc controller for a UAV drone, with omega bounds, a constraint switch, and dictionary-based constants in the main and support files.
Show how MPC constraints are integrated into the UAV code by extending the simplification function to accept max and min arrays and populate global c and y vectors.
Compute the CC, G, and H matrices to enforce MPC constraints for a UAV drone, then form delta u from the cost function while handling MVC constraints.
Analyze how MPC constraints shape UAV drone trajectory tracking by tuning omega_men and omega_max. Compare inner loop NPC and planned models, noting safety margins.
Continue exploring the powerful field of control engineering beyond this course and apply uav dynamics and control, then share a brief review to help others learn.
One of the greatest transformations that we will see in the next couple of decades is going to be the advent of autonomous drones. While being used extensively already, the applications of quadcopters will only grow in time. Drones will be used in delivery services, entertainment, medicine, military, rescue, structural quality inspection - places that people cannot reach easily, and in many other fields.
In many cases, there will be a predefined trajectory in a 3D space that the UAV needs to follow without human help. In fact, humans might simply give a simple command for the drone to go somewhere, and then, a specific trajectory will be generated by a computer in that direction and the UAV's control algorithms will need to determine EXACTLY how fast each rotor should turn in order to make the drone follow that trajectory with high-degree precision.
And that's what this course is all about - its about DESIGNING, MASTERING, and APPLYING these control algorithms together with deriving the dynamics equations for the quadcopter.
In this course, you will receive a full package when it comes to learning about how to model and control a UAV drone and make it follow a trajectory in a 3D environment. Not only you will learn how to model a UAV system mathematically by deriving the equations of motion using the principles of 3D Dynamics, but you will also be exposed to some of the most powerful control techniques out there such as Model Predictive Control and feedback linearization.
In 3D dynamics, you will learn the fundamental math and physics behind the UAV quadcopter drone modelling. You will learn how to describe the position and orientation of a UAV quadcopter drone in a 3D space using rotation and transfer matrices, Newton - Euler 6 Degree of Freedom equations of motion, widely used Runge - Kutta integrator in engineering and propeller dynamics.
In the end of the course, I will also explain to you the code in the Python simulator.
Understanding the material in this course fundamentally, being able to quantify it mathematically, and knowing how to apply it using coding - that will give you an advantage in your engineering career that you cannot even imagine yet. It will give you a competitive edge that you need in the labor market.
I'm very excited to start working with you. Take a look at some of my free preview videos, and if you like what you see, then ENROLL in the course, and let's get started right now!