Ethan Sheehan
All work — 2025

Dynamics and Control of Linear Systems

Flutter speed of a two-degree-of-freedom aerofoil read off its root locus, then spacecraft attitude controllers tuned by a hand-written genetic algorithm and particle swarm in MATLAB and Simulink.

RoleIndividual coursework
Root locus of a two-degree-of-freedom aerofoil coloured by airspeed; the second mode crosses into the right half-plane at 100 m/s, marked as the flutter speed
Roots of the characteristic equation from 0 to 120 m/s. Flutter at 100 m/s, 169.7 rad/s.
Flutter speed
100 m/s
Controller tunes compared
10
Cost vs baseline tune
320x lower
01

The brief

Second-year unit in two halves. Vibrations and Aeroelasticity: a single-degree-of-freedom aerofoil rig, a tuned vibration absorber, a two-mass lever system by Lagrange and by Newton, and a two-degree-of-freedom flutter analysis. Signals, Systems and Control: diagnose a faulty amplifier from time-domain metrics, recover a harmonic from a noisy aliased record with an FFT, size a mirror actuator from a Bode plot, and tune two attitude controllers for a spacecraft with flexible appendages. All MATLAB and Simulink, submitted April 2025.

02

Vibrations and aeroelasticity

The aerofoil's inertia, stiffness and damping came from a logarithmic decrement between the first and tenth peaks of a free decay. A tuned vibration absorber at 5 percent of the equivalent mass split the resonance into two peaks with an anti-resonance at the old natural frequency, and 10 percent damping in the absorber flattened both. For the lever-coupled two-mass system the Lagrange and Newton derivations matched, and sweeping the pivot ratio showed the first mode saturating while the second climbed without bound. The flutter analysis tracked the four roots of the characteristic equation from 0 to 120 m/s and called flutter where a real part first went positive.

Frequency response magnitude: a single peak for the bare aerofoil, two peaks with a deep notch for the undamped absorber, and a flattened curve with 10 percent absorber damping
Tuned vibration absorber: undamped, then with 10 percent damping.
Diagram of two masses on springs coupled through a pivoted lever, shown at rest and displaced
The lever-coupled two-mass system.
Log plot of the two natural frequencies against the lever pivot ratio a; the first mode saturates near 0.8 Hz, the second rises steeply towards a equals 1
Natural frequencies against the pivot ratio.
Log-log amplitude-frequency characteristics of the damped two-mass system for five pivot ratios, natural frequencies circled
Damped response for five pivot ratios.
Heave and pitch free response over 0.2 seconds at four airspeeds; the 1.1 times flutter speed trace grows while the others decay
Free response at 0, 0.6, 0.95 and 1.1 times the flutter speed.
03

Signals

Three triangular waves through a suspect amplifier were characterised by mean, variance, skewness, kurtosis and RMS. The reading: the amplifier clips whenever the signal power exceeds its rating, and a bias clips positive peaks earlier than negative ones. A second record sampled at 1 kHz showed harmonics of a 350 Hz fundamental folded back by aliasing. Keeping only the spectral peaks and inverting the FFT recovered a clean waveform that matched a generated sawtooth.

Three test signals over two seconds: a slow offset wave with rounded peaks, a fast clipped sinusoid, and a small clean triangle wave
Three triangular waves after the amplifier. Only the third came out triangular.
Single-sided FFT magnitude spectrum with detected peaks circled every 50 Hz and the strongest at 350 Hz
Spectrum of the noisy record, peaks detected for reconstruction.
Peak-only inverse FFT reconstruction overlaid on a generated 350 Hz sawtooth over 0.1 seconds, nearly coincident
Reconstruction from the peaks alone against a 350 Hz sawtooth.
04

Control tuning

Proportional-plus-rate-feedback and proportional-derivative controllers were built in Simulink around the spacecraft plant and scored on a single cost: steady-state error weighted a thousandfold, plus overshoot, settling time and rise time. Ten tunes were compared. Characteristic-equation matching to the suggested 0.06 rad/s and 0.707 damping gave the baseline. Manual and Ziegler-Nichols searches were automated. A genetic algorithm and a particle swarm optimiser were written from scratch, each driving the Simulink model from its cost function. The swarm converged fastest and cut the PR cost from 141 to 0.44. The catch, noted in the report, is that its very high gains ring at high frequency as they settle, which could excite the flexible appendages.

Simulink block diagram of a proportional controller with rate feedback around the plant
Proportional with rate feedback.
Simulink block diagram of a proportional-derivative controller around the plant
Proportional-derivative.
Step responses of PR and PD controllers under baseline, genetic-algorithm and two particle-swarm tunes; the best swarm tune reaches the setpoint almost instantly
Baseline, genetic algorithm and particle swarm tunes on the same step.
Best cost against iteration for the particle swarm, falling smoothly from about 106 to 31 within 13 iterations
Particle swarm, 50 particles: converged in 13 iterations.
Best cost against generation for the genetic algorithm, stepping down unevenly from about 40 to 32.5 over 17 generations
Genetic algorithm, population 10: slower and stepwise.
05

Report

The full coursework report: the flutter root locus, the signal-processing tasks and the controller tuning, with the GA and PSO code described.