Author: mtimmons

Finalizing Equations Of Motion: Thrust Inputs from Propellers

Finalizing Equations Of Motion: Thrust Inputs from Propellers

This post explains how we determine propeller thrust and drag factors for our quadcopter project. The last couple posts have been working-out the sum-of-torques on our quad-copter. We covered gyroscopic effect of the total air-frame in the, “equations of motion” post a few weeks ago. Next we looked at the torque induced by the gyroscopic …

+ Read More

Quadrotor: Simplifications for, “Classical” Controller Design

Quadrotor: Simplifications for, “Classical” Controller Design

The last few posts covered each of three dynamic details separately: Gyroscopic effect of the rigid body (the entire quadcopter). Gyroscopic effect of the spinning propellers. Propeller thrust and drag effects. We’re going to use all of this information as we look at controlling the flight of a quadcopter, but first we’re going to make …

+ Read More

Quadrotor Roll, Pitch and Yaw Axis Lead Compensation (PID)

Quadrotor Roll, Pitch and Yaw Axis Lead Compensation (PID)

In the last post I simplified the model to arrive at a transfer function representing the roll and pitch axes independently for our ‘+’ shaped quadrotor. The following video explains how we stabilize this inherently unstable system. The PDF that follows is produced from the Maple document I review in the video. This, “lead-compensator” design …

+ Read More

Simulation Methods: Double Integrator Example

Simulation Methods: Double Integrator Example

In the last post I focused on placing the lead zero for the roll and pitch axes based on the limit imposed by a second double-pole our plant introduces via the motor-propeller, ‘A’ term. I neglected to calculate the proportional gain required for unity-gain crossover at the frequency of maximum phase margin. I also did …

+ Read More

Quadrotor Control: State-Space Model

Quadrotor Control: State-Space Model

I covered, “PID” (Proportional-Integral-Differential) or, “classical” controller designs for the quadrotor platform in a post last fall…time flies! We really only employ the P and the D elements. The, ‘D’ is the, “lead compensator”. The proportional gain P is the last step and you can see how this design technique is performed in that post. This is …

+ Read More

Quadrotor Linear Quadratic Regulator (LQR)

Quadrotor Linear Quadratic Regulator (LQR)

Big gap since the last post where we finally got the state-space model laid down. It got us to the plant model derived by Bouabdallah and others in his paper that we’ve used as a guide from the start. The goal all along has been not only to analyze and design candidate controllers for a Quadrotor platform, but to …

+ Read More

Linear Quadratic Control with Reference Input

Linear Quadratic Control with Reference Input

The last post was our introduction to the Linear Quadratic Regulator (LQR). We saw there that as we started with initial conditions or introduced a disturbance the LQR will drive the states to zero. In the simulations we saw the graphic of the copter converge on the zero state: zero roll, pitch, yaw, and respective …

+ Read More

Agricultural Sprayer Boom Height Control

Agricultural Sprayer Boom Height Control

This isn’t a fancy or particularly exotic control system example. I share it here because it sat in an old notebook as an example of fun modelling process. It involved two simple single-input, single-output (SISO) control loops with the dynamics of actuating one side coupled-through to the other via an uncontrolled, unobserved axis. I remember …

+ Read More

Quadrotor Build: Hardware, Software, and Tools

Quadrotor Build: Hardware, Software, and Tools

I’ve been making a book report out of the many interesting aspects revealed by a simple hobby drone. We’ve covered electro-mechanics of motors and propellers, fluid mechanics around propellers, simplified, “classical” single-input, single-output (SISO) axis control design and multi-input, and multi-output (MIMO) linear quadratic regulator (LQR) concepts to this point. The background on the LQR …

+ Read More

ArduPilot Linear Quadratic Attitude Controller

ArduPilot Linear Quadratic Attitude Controller

You’ll be most interested in this post if you’re interested Ardupilot (See Ardupilot dev info). If you’re not interested in ArduPilot you might still appreciate the next section that covers basic software architecture for any system such as this. In this post we’ll cover how a linear-quadratic (LQ) attitude controller replaces the ArduCopter native PID …

+ Read More