Control systems / simulation
Mars Sky Crane Controls
A MATLAB and Simulink controls project for a simplified Mars sky crane. I linearized the supplied dynamics, tuned height and pitch controllers, ran linear and nonlinear simulations, and tested a pole-placement regulator against disturbances.
- Role
- Controls Analyst and Programmer
- Timeline
- Spring 2026
- Type
- Control systems course project
Problem
Control the height and pitch of a simplified Mars sky crane while tracking the assigned height profile and rejecting disturbances.
Constraint
The height controller had to reach a 10 m step with no steady-state error, a rise time under 15 seconds, and no overshoot. The pitch loop also had low-frequency tracking-error, high-frequency noise-attenuation, and closed-loop stability targets.
What I did
- Converted the supplied nonlinear equations into a 12-state model, linearized it about hover, and assembled the state-space matrices and transfer functions in MATLAB.
- Used root loci to study how the PID gains moved the closed-loop poles, then tuned the height controller to KP = 1000, KI = 1, and KD = 12000.
- Designed a loop-shaped pitch controller and checked its gain, phase, and frequency response with a Bode plot.
- Completed the supplied linear Simulink model, adapted it to the supplied nonlinear dynamics function, and scripted 300-second simulations with tracking and control-input plots.
- Removed the uncontrollable yaw states for the bonus analysis, placed ten closed-loop poles from -10 to -1, rebuilt the gain matrix for the full state vector, and applied disturbances.
Result
- The reported height step response reached 10 m in under 15 seconds with zero steady-state error and virtually no overshoot.
- With the pole-placement regulator and added disturbances, the modeled position states stayed bounded near zero during the 300-second run.
Tools
MATLAB · Simulink · PID control · State-space modeling