ADRC-PI-PID MATLAB Control Simulation

Job ID: 40023247

Budget: ₹600 – ₹1,500 INR

I need a complete MATLAB/Simulink model that compares an Active Disturbance Rejection Controller with classical PI and PID loops on the same plant. My focus is squarely on controller design and proof of disturbance-rejection capability, so the work must include a properly tuned Extended State Observer (or another observer you can justify) as part of the ADRC structure.

You will start by modelling the plant I provide (or help me identify a representative transfer function if none is yet defined), then build three parallel control paths—ADRC, PI, and PID—in Simulink. I want to see how each copes with load and input disturbances as well as parameter variation. Please keep the code transparent and heavily commented so I can tweak gains later.

Deliverables
• Simulink file with the three controllers clearly separated
• MATLAB scripts/functions for gain calculation, ESO/observer design, and automated plotting
• Time-domain and frequency-domain plots that highlight disturbance rejection (step, ramp, and random noise injections)
• A brief PDF or Markdown note explaining design choices, tuning method, and how to extend the model

Acceptance criteria
1. ADRC must outperform at least one of the classical controllers under injected disturbances.
2. Observer states converge without noticeable chattering or delay.
3. All files open and run in R2020b or newer with only base MATLAB, Simulink, and Control System Toolbox.

If you have previous ADRC or advanced control work, feel free to reference it when you bid—seeing similar plots or code greatly speeds up selection.