Home About Resume Projects Certificates Contact
Automatic Control · Classical & State-Space Methods

SUT · Automatic Control Design of a Ball & Beam System

slide 1 slide 2 slide 3 slide 4

Designed and validated a comprehensive suite of automatic control systems for the ball-and-beam plant — a canonical benchmark in control engineering due to its inherent open-loop instability and three cascaded integrators in the transfer function. The control objective was to stabilize the ball at the beam midpoint (r = 0.5 m) with overshoot below 20%, settling time below 6 seconds, and zero steady-state error, implemented in MATLAB/Simulink for a physical plant with servo motor, 5:1 gearbox, and ultrasonic position sensor.

Standard lead, lag, and lead-lag compensators failed to achieve stable closed-loop behavior for this non-minimum-phase plant, motivating the use of Youla–Kučera parametrization to systematically design a stable stabilizing controller. Building from this foundation, six successive design stages were implemented: root locus gain tuning, frequency-domain loop shaping, PID control with saturation and anti-windup, cascade control (inner beam-angle loop + outer ball-position loop), and full-state feedback with a Luenberger observer designed via pole placement for state estimation and disturbance rejection of unmeasured inputs.

Each controller architecture was validated in Simulink against the physical plant parameters (R = 100 Ω, motor constant Km, gearbox ratio 5:1) under step reference inputs, confirming compliance with all transient and steady-state specifications across multiple closed-loop designs. The progression from classical frequency-domain methods to modern state-space observer-based control demonstrates systematic escalation of control authority for challenging unstable systems.

Project Details

InstitutionSharif University of Technology
DateWinter 2022
CategoryControl Systems · State-Space · Classical Methods

Skills & Tools

MATLAB / SimulinkRoot LocusPID + Anti-WindupYoula–KučeraLuenberger ObserverCascade ControlFrequency-Domain