John CoteloRésumé
Selected work

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