1. Quadrotor UAV Position & Attitude Cascaded Control
Intermediate
Toolbox: Control System & Aerospace
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Stabilize 6-DOF non-linear quadrotor dynamics and achieve precise waypoint trajectory tracking under wind gust disturbances using cascaded inner-loop (attitude PID) and outer-loop (position P-PI) controllers.
⚙️ Key MATLAB Functions:
pidtunesslsimplot3feedback
📊 Expected Output & Metrics: Waypoint tracking error < 0.15 m, altitude settling time < 1.2 s, and zero steady-state position error.
s = tf('s');
m = 1.2; g = 9.81; Iyy = 0.015;
G_alt = 1 / (m * s^2);
C_alt = pidtune(G_alt, 'PID', pidtuneOptions('CrossoverFrequency', 5));
T_alt = feedback(C_alt * G_alt, 1);
G_att = 1 / (Iyy * s^2);
C_att = pidtune(G_att, 'PD', pidtuneOptions('CrossoverFrequency', 20));
T_att = feedback(C_att * G_att, 1);
figure; subplot(2,1,1); step(T_alt, 3); title('Quadrotor Altitude Step Response'); grid on;
subplot(2,1,2); step(T_att, 1); title('Quadrotor Pitch Attitude Response'); grid on;
Est. Duration: 1–2 Weeks
Request Custom Project →
2. Inverted Pendulum & Cart-Pole Stabilization via LQR and State-Feedback
Intermediate
Toolbox: Control System & Optimization
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Stabilize an inherently open-loop unstable non-linear inverted pendulum on a moving cart using Linear Quadratic Regulator (LQR) optimal control and full-state feedback with Kalman state estimation.
⚙️ Key MATLAB Functions:
lqrssplaceinitialstep
📊 Expected Output & Metrics: Pendulum angle stabilization within ±0.01 rad, cart settling time < 1.5 s, control effort minimization (u < 20 N).
M = 0.5; m = 0.2; b = 0.1; I = 0.006; g = 9.81; l = 0.3;
p = I*(M+m) + M*m*l^2;
A = [0 1 0 0; 0 -(I+m*l^2)*b/p (m^2*g*l^2)/p 0; 0 0 0 1; 0 -(m*l*b)/p (m*g*l*(M+m))/p 0];
B = [0; (I+m*l^2)/p; 0; (m*l)/p];
C = [1 0 0 0; 0 0 1 0]; D = [0; 0];
Q = diag([10, 1, 100, 1]); R = 0.01;
K = lqr(A, B, Q, R);
sys_cl = ss(A - B*K, B, C, D);
t = 0:0.01:4; x0 = [0; 0; 0.2; 0];
[y, t, x] = initial(sys_cl, x0, t);
figure; subplot(2,1,1); plot(t, x(:,3), 'r', 'LineWidth', 1.5); ylabel('\theta (rad)'); grid on;
title('LQR Inverted Pendulum Angle Stabilization & Cart Position');
subplot(2,1,2); plot(t, x(:,1), 'b', 'LineWidth', 1.5); ylabel('Cart Position x (m)'); xlabel('Time (s)'); grid on;
Est. Duration: 1–2 Weeks
Request Custom Project →
3. Semi-Active Automobile Quarter-Car Suspension Control
Beginner
Toolbox: Control System & Simscape Driveline
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Design and simulate Skyhook and LQR controllers for semi-active suspension dampers in a 2-DOF quarter-car model subjected to road bump disturbances.
⚙️ Key MATLAB Functions:
lqrssstepbodelsim
📊 Expected Output & Metrics: Sprung mass acceleration reduction (>35%), peak suspension travel reduction (>25%), and settling time < 0.8 seconds.
mb = 300; mw = 40; ks = 15000; kw = 150000; cs = 1000;
A = [0 1 0 -1; -ks/mb -cs/mb 0 cs/mb; 0 0 0 1; ks/mw cs/mw -kw/mw -cs/mw];
B = [0; 1/mb; 0; -1/mw]; C = [1 0 0 0; -ks/mb -cs/mb 0 cs/mb]; D = [0; 1/mb];
Q = diag([1000, 0, 10000, 0]); R = 1e-4;
K = lqr(A, B, Q, R);
sys_passive = ss(A, B, C, D);
sys_active = ss(A - B*K, B, C, D);
t = 0:0.005:2; road_bump = 0.05*(t >= 0.1 & t <= 0.3);
[y_p] = lsim(sys_passive, zeros(size(t)), t);
[y_a] = lsim(sys_active, zeros(size(t)), t);
figure; plot(t, y_p(:,1), 'r--', t, y_a(:,1), 'b', 'LineWidth', 1.5);
legend('Passive Damper', 'Active LQR Controlled'); xlabel('Time (s)'); ylabel('Body Displacement (m)');
title('Quarter-Car Body Displacement under Road Bump'); grid on;
Est. Duration: 4–8 Hours
Request Custom Project →
4. Field-Oriented Control (FOC) of Induction Motor with dsPIC
Intermediate
Toolbox: Embedded Coder & Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop real-time vector control / Field-Oriented Control (FOC) for 3-phase AC induction motor speed regulation targeting dsPIC microcontrollers with decoupled flux and torque loops.
⚙️ Key MATLAB Functions:
clarkeparkspaceVectorPWMslbuildc2d
📊 Expected Output & Metrics: Speed regulation accuracy ±1 RPM, full torque response time < 15 ms, and C code generation without build warnings.
s = tf('s');
J = 0.005; B = 0.001;
G_mech = 1 / (J*s + B);
Kp_speed = 0.45; Ki_speed = 8.2;
C_speed = pid(Kp_speed, Ki_speed);
T_speed = feedback(C_speed * G_mech, 1);
Ts = 1e-4;
C_speed_disc = c2d(C_speed, Ts, 'tustin');
figure; step(T_speed, 0.2); title('FOC Induction Motor Speed Step Response'); grid on;
Est. Duration: 1–2 Weeks
Request Custom Project →
5. Model Predictive Control (MPC) for Microgrid Battery Storage
Advanced
Toolbox: Model Predictive Control & Simscape
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Formulate constrained multivariable predictive control to stabilize microgrid frequency and voltage while maximizing battery degradation life and intermittent solar/wind power utilization.
⚙️ Key MATLAB Functions:
mpcmpcmovesetterminalsimss
📊 Expected Output & Metrics: Microgrid voltage stability within ±2%, operating cost reduction (>18%), and execution time per MPC step < 5 ms.
A = [0.95 0.02; 0 0.98];
B = [0.08 0.01; -0.05 0.12]; C = eye(2); D = zeros(2);
ts = 0.1;
sys_mg = ss(A, B, C, D, ts);
mpcobj = mpc(sys_mg, ts, 10, 3);
mpcobj.ManipulatedVariables(1).Min = -50;
mpcobj.ManipulatedVariables(1).Max = 50;
mpcobj.OutputVariables(1).Min = 20;
mpcobj.OutputVariables(1).Max = 90;
sim(mpcobj, 50);
Est. Duration: 3–4 Weeks
Request Custom Project →
6. Three-Level PWM AC/DC Converter for EV Bidirectional Charging
Advanced
Toolbox: Simscape Electrical & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Design a bidirectional Three-Level PWM AC/DC power converter enabling Vehicle-to-Grid (V2G) and Grid-to-Vehicle (G2V) energy transfers with reduced total harmonic distortion (THD).
⚙️ Key MATLAB Functions:
power_analyzethdparkclarkepid
📊 Expected Output & Metrics: Grid current THD < 3%, power factor > 0.99, and seamless power flow reversal within 10 ms.
L_filter = 2.5e-3; R_filter = 0.2;
s = tf('s');
G_i = 1 / (L_filter*s + R_filter);
Kp_i = 15; Ki_i = 1200;
C_i = pid(Kp_i, Ki_i);
T_i = feedback(C_i * G_i, 1);
figure; bode(T_i); grid on; title('Inner dq-Current Loop Frequency Response');
Est. Duration: 2–3 Weeks
Request Custom Project →
7. Bilateral Control Design for Robotic Teleoperation Systems
Advanced
Toolbox: Fuzzy Logic & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Ensure force feedback transparency and position synchronization between master manipulator and remote slave robot under time delay using Takagi-Sugeno fuzzy state-convergence bilateral controllers.
⚙️ Key MATLAB Functions:
sugfisfismatlmisimpade
📊 Expected Output & Metrics: Master-slave tracking error < 1 mm, force reflection fidelity > 95%, and absolute delay stability up to 200 ms.
s = tf('s');
Mm = 1.0; Bm = 2.0; Ms = 1.0; Bs = 2.0;
Gm = 1 / (Mm*s^2 + Bm*s);
Gs = 1 / (Ms*s^2 + Bs*s);
[num_d, den_d] = pade(0.15, 2);
delay_tf = tf(num_d, den_d);
C_tele = pid(120, 0, 15);
T_loop = feedback(C_tele * Gm * delay_tf * Gs, 1);
figure; step(T_loop, 3); title('Delayed Master-Slave Position Tracking'); grid on;
Est. Duration: 2–4 Weeks
Request Custom Project →
8. Wing Tip Dynamics and RF Flight Simulation Testing
Advanced
Toolbox: Antenna & Signal Processing
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Simulate aerodynamic wingtip vibration impacts on antenna radiation patterns and beam steering accuracy in an anechoic chamber for Electronic Warfare testing.
⚙️ Key MATLAB Functions:
patternphased.ArrayResponsefftode45tf
📊 Expected Output & Metrics: Dynamic gain degradation profiles, beam tracking error < 0.5 degrees, and 3D radiation pattern distortion plots.
tspan = [0 5]; x0 = [0.05; 0];
wn = 2*pi*3.5; zeta = 0.04;
[t, x] = ode45(@(t,x) [x(2); -2*zeta*wn*x(2) - wn^2*x(1)], tspan, x0);
lambda = 0.03;
phase_err = (2*pi*x(:,1)) / lambda;
figure; subplot(2,1,1); plot(t, x(:,1)*100, 'b'); ylabel('Deflection (cm)'); grid on;
title('Wingtip Aeroelastic Deflection & Induced RF Phase Error');
subplot(2,1,2); plot(t, rad2deg(phase_err), 'r'); ylabel('Phase Error (deg)'); xlabel('Time (s)'); grid on;
Est. Duration: 2–3 Weeks
Request Custom Project →
9. Concatenative Synthesis for Novel Timbral Creation
Intermediate
Toolbox: Audio & Signal Processing
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop a software engine extracting audio feature vectors (MFCCs, spectral centroid, zero-crossing) and using clustering to synthesize novel musical timbres from recorded sound databases.
⚙️ Key MATLAB Functions:
mfcckmeansaudioreadsoundscspectralCentroid
📊 Expected Output & Metrics: Audio database feature space scatter plots, spectral match similarity score (>90%), and real-time audio playback.
fs = 44100; t = 0:1/fs:0.5;
target_sig = sin(2*pi*440*t) + 0.5*sin(2*pi*880*t);
[coeffs, delta, deltaDelta, loc] = mfcc(target_sig', fs, 'WindowLength', 1024, 'OverlapLength', 512);
figure; scatter(coeffs(:,2), coeffs(:,3), 40, 'filled', 'MarkerFaceColor', '#0056b3');
grid on; xlabel('MFCC Coeff 2'); ylabel('MFCC Coeff 3'); title('Audio Timbre Feature Space Distribution');
Est. Duration: 1–2 Weeks
Request Custom Project →
10. Platform for Real-Time Simulation and HIL Control Testing
Advanced
Toolbox: Simulink Real-Time & Embedded Coder
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop an embedded real-time simulator (RTSDS) for Hardware-in-the-Loop (HIL) testing and validation of industrial control algorithms under sub-millisecond execution timing constraints.
⚙️ Key MATLAB Functions:
slrealtimetg.starttg.stopslbuildc2d
📊 Expected Output & Metrics: Real-time task execution time < 100 µs, zero overrun occurrences, and I/O latency < 10 µs.
Ts = 0.0001;
s = tf('s'); G_cont = 100 / (s^2 + 12*s + 100);
G_disc = c2d(G_cont, Ts, 'tustin');
figure; bode(G_cont, 'b-', G_disc, 'r--'); grid on;
legend('Continuous Plant', 'HIL Discretized (100 \mus)');
title('HIL Real-Time Discretization Fidelity Check');
Est. Duration: 3–4 Weeks
Request Custom Project →
11. Modeling Power Take-off for Multiple Wave Energy Converters
Advanced
Toolbox: Simscape Fluids & Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Develop hydrodynamic and hydraulic power take-off (PTO) models for array-connected wave energy converter buoys in time-domain sea states to optimize power extraction.
⚙️ Key MATLAB Functions:
simscape.librarypwelchtrapzsimpid
📊 Expected Output & Metrics: Average power captured per buoy (kW), power flow smoothing factor (>75%), and hydraulic pressure ripple < 5%.
Tp = 8.0; omega_w = 2*pi/Tp; Buoy_mass = 5000;
C_opt = Buoy_mass * omega_w;
t = 0:0.1:100;
v_wave = 1.2 * sin(omega_w * t);
P_elec = C_opt * (v_wave.^2) * 0.82;
figure; plot(t, P_elec/1000, 'Color', '#0056b3', 'LineWidth', 1.5);
xlabel('Time (s)'); ylabel('Electrical Power (kW)'); title('WEC Hydrodynamic Power Output Profile'); grid on;
Est. Duration: 2–4 Weeks
Request Custom Project →
12. DC Motor Speed and Position Control via PID & Anti-Windup
Beginner
Toolbox: Control System Toolbox
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Regulate DC motor rotational speed and shaft position with zero overshoot, fast rise time, and integral windup prevention under actuator voltage saturation limits (±12V).
⚙️ Key MATLAB Functions:
pidtffeedbackstepstepinfo
📊 Expected Output & Metrics: Settling time < 0.4 s, overshoot < 2%, zero steady-state error, anti-windup clamping at ±12V.
J = 0.01; b = 0.1; K = 0.01; R = 1; L = 0.5;
s = tf('s');
G_motor = K / ((J*s + b)*(L*s + R) + K^2);
C_pid = pid(40, 180, 2);
T_closed = feedback(C_pid * G_motor, 1);
figure; step(T_closed, 1.5); grid on;
title('DC Motor Closed-Loop Angular Velocity Step Response');
S = stepinfo(T_closed);
disp(['Rise Time: ', num2str(S.RiseTime), ' s, Settling Time: ', num2str(S.SettlingTime), ' s']);
Est. Duration: 4–6 Hours
Request Custom Project →
13. Magnetic Levitation (MagLev) System Stabilization using Lead-Lag
Beginner
Toolbox: Control System Toolbox
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Stabilize an inherently open-loop unstable magnetic levitation ball suspension system using lead-lag phase compensation and state-feedback pole placement.
⚙️ Key MATLAB Functions:
tfrlocusplacefeedbackmargin
📊 Expected Output & Metrics: Phase margin > 50°, ball airgap stability ±0.2 mm, recovery from 10 mm impulse disturbance < 0.3 s.
s = tf('s'); g = 9.81; x0 = 0.01;
km = g / x0;
G_maglev = -100 / (s^2 - km);
C_lead = -1.2 * (s + 25) / (s + 120);
T_maglev = feedback(C_lead * G_maglev, 1);
figure; subplot(2,1,1); rlocus(G_maglev); title('Uncompensated Root Locus (Unstable)');
subplot(2,1,2); step(T_maglev, 0.5); title('Stabilized MagLev Gap Step Response'); grid on;
Est. Duration: 6–8 Hours
Request Custom Project →
14. Ball and Beam System Control via Root Locus & Loop Shaping
Beginner
Toolbox: Control System Toolbox
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Position a rolling ball at specified setpoints along a tilting beam by designing PD and lead compensators that guarantee robust gain and phase margins.
⚙️ Key MATLAB Functions:
tfrlocusbodemarginfeedback
📊 Expected Output & Metrics: Ball positioning accuracy ±1 mm, phase margin > 55°, gain margin > 10 dB, overshoot < 5%.
s = tf('s');
G_bb = 0.42 / (s^2);
C_bb = 18 * (s + 1.2) / (s + 15);
T_bb = feedback(C_bb * G_bb, 1);
figure; step(T_bb, 4); grid on;
title('Ball & Beam Position Setpoint Step Response'); xlabel('Time (s)'); ylabel('Ball Position (m)');
Est. Duration: 6–8 Hours
Request Custom Project →
15. Autonomous Vehicle Adaptive Cruise Control (ACC) with Sensor Fusion
Intermediate
Toolbox: Model Predictive Control & Automated Driving
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Maintain safe longitudinal inter-vehicle spacing and smooth acceleration profiles behind a leading car using radar sensor data, Kalman filtering, and multi-objective MPC.
⚙️ Key MATLAB Functions:
mpcmpcmoveextendedKalmanFiltersimss
📊 Expected Output & Metrics: Safe headway time = 1.4 s, speed error < 0.5 km/h, comfortable passenger acceleration (< 2 m/s²).
m = 1500; Cd = 0.32; v0 = 25;
A = [0 -1; 0 -2*Cd*v0/m]; B = [0; 1/m]; C = eye(2); D = zeros(2,1);
sys_acc = ss(A, B, C, D);
mpc_acc = mpc(sys_acc, 0.1, 20, 5);
mpc_acc.ManipulatedVariables.Min = -4.0;
mpc_acc.ManipulatedVariables.Max = 2.5;
sim(mpc_acc, 40);
Est. Duration: 1–2 Weeks
Request Custom Project →
16. Automatic Generation Control (AGC) & Load Frequency Control in Multi-Area Power Grids
Intermediate
Toolbox: Control System & Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Regulate tie-line power flow and grid frequency across interconnected power areas following sudden load rejections using integral and state-feedback AGC loops.
⚙️ Key MATLAB Functions:
ssfeedbackstepbodelsim
📊 Expected Output & Metrics: Frequency deviation |Δf| < 0.05 Hz, tie-line exchange restoration < 4 s, area control error (ACE) eliminated.
s = tf('s');
Tg = 0.08; Tt = 0.3; H = 5; D = 0.6; R = 2.4;
G_gov = 1 / (Tg*s + 1); G_turb = 1 / (Tt*s + 1); G_sys = 1 / (2*H*s + D);
Ki = 0.8; C_agc = Ki / s;
T_area = feedback(G_gov * G_turb * G_sys, 1/R + C_agc);
figure; step(0.01 * T_area, 15); grid on;
title('Grid Frequency Deviation \Delta f under 0.01 p.u. Step Load Change');
xlabel('Time (s)'); ylabel('Frequency Error \Delta f (Hz)');
Est. Duration: 1–2 Weeks
Request Custom Project →
17. Continuous Stirred-Tank Reactor (CSTR) Non-Linear Temperature Control via MPC
Advanced
Toolbox: Model Predictive Control & Optimization
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Regulate highly exothermic CSTR reactant temperature and product concentration near unstable saddle-point operating conditions using non-linear MPC.
⚙️ Key MATLAB Functions:
nlmpcnlmpcmoveode15sfminconvalidateFcns
📊 Expected Output & Metrics: Reactor temperature controlled within ±0.5 K, zero runaway reaction incidents, coolant valve chatter minimized.
nx = 2; ny = 2; nu = 1;
nlobj = nlmpc(nx, ny, nu);
nlobj.Ts = 0.1;
nlobj.PredictionHorizon = 12;
nlobj.ControlHorizon = 3;
nlobj.ManipulatedVariables.Min = 280;
nlobj.ManipulatedVariables.Max = 370;
nlobj.ManipulatedVariables.RateMin = -5;
nlobj.ManipulatedVariables.RateMax = 5;
disp('CSTR Non-Linear MPC Object Configured Successfully.');
Est. Duration: 3–4 Weeks
Request Custom Project →
18. Active Vibration Suppression in Flexible Spacecraft Solar Arrays using H-Infinity Control
Advanced
Toolbox: Robust Control & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Suppress low-frequency structural bending modes of deployable flexible solar panels during spacecraft attitude maneuvers using Piezoelectric actuators and H-Infinity robust synthesis.
⚙️ Key MATLAB Functions:
hinfsynaugwsigmassmakeweight
📊 Expected Output & Metrics: Structural vibration damping increased by >30 dB, attitude pointing precision < 0.001 deg, robust stability against ±20% modal uncertainty.
s = tf('s');
w1 = 1.2; zeta1 = 0.005;
G_flex = 1/(s^2) + 0.35 / (s^2 + 2*zeta1*w1*s + w1^2);
Wp = makeweight(100, 2, 0.5);
Wu = makeweight(0.1, 10, 10);
[K_hinf, CL, gamma] = hinfsyn(augw(G_flex, Wp, Wu));
figure; sigma(CL); title('Spacecraft Closed-Loop Singular Values (H_\infty Damping)'); grid on;
Est. Duration: 3–4 Weeks
Request Custom Project →
19. 2-DOF Robotic Arm Trajectory Tracking via Sliding Mode Control (SMC)
Intermediate
Toolbox: Robotics System & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Achieve chatter-free, high-precision end-effector trajectory tracking for a 2-link planar robotic manipulator in the presence of payload mass variations using continuous boundary-layer Sliding Mode Control.
⚙️ Key MATLAB Functions:
ode45rigidBodyTreesigntanhplot
📊 Expected Output & Metrics: Joint position error < 0.005 rad, zero chattering using hyperbolic tangent smoothing, robust to 200% payload step changes.
lambda = 15; eta = 8; phi = 0.05;
t = 0:0.01:3;
q_des = sin(2*pi*0.5*t);
q_actual = q_des .* (1 - exp(-4*t));
error = q_des - q_actual;
figure; subplot(2,1,1); plot(t, q_des, 'r--', t, q_actual, 'b', 'LineWidth', 1.5);
legend('Desired Angle', 'SMC Tracked Angle'); title('2-DOF Robotic Arm SMC Trajectory Tracking'); grid on;
subplot(2,1,2); plot(t, error, 'k', 'LineWidth', 1.5); ylabel('Tracking Error (rad)'); xlabel('Time (s)'); grid on;
Est. Duration: 1–2 Weeks
Request Custom Project →
20. Wind Turbine Variable Pitch Control for Maximum Power Point Tracking (MPPT)
Intermediate
Toolbox: Simscape Electrical & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Design gain-scheduled PID pitch angle controllers for above-rated wind speeds to limit aerodynamic rotor power and generator torque to rated values.
⚙️ Key MATLAB Functions:
pidtuneinterp1ssfeedbacksim
📊 Expected Output & Metrics: Generator speed overshoot < 3% during extreme wind gusts, mechanical fatigue load reduction (>20%), rated power maintained at 2.0 MW.
v_wind = [12, 14, 16, 18, 20, 25];
pitch_eq = [3.8, 8.2, 11.5, 14.8, 17.6, 23.1];
Kp_sched = 1.8 ./ (1 + pitch_eq/10);
Ki_sched = 0.6 ./ (1 + pitch_eq/10);
figure; plot(pitch_eq, Kp_sched, '-o', pitch_eq, Ki_sched, '-s', 'LineWidth', 1.5);
grid on; legend('Kp Gain', 'Ki Gain'); xlabel('Blade Pitch Angle \theta (deg)');
ylabel('Controller Gains'); title('Gain-Scheduled Blade Pitch Controller Gains');
Est. Duration: 1–2 Weeks
Request Custom Project →
21. Twin Rotor MIMO System (TRMS) Decoupled State-Space Control
Advanced
Toolbox: Control System Toolbox
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Decouple and stabilize cross-axis aerodynamic coupling between horizontal (yaw) and vertical (pitch) rotors of a Twin Rotor MIMO 2-DOF helicopter setup.
⚙️ Key MATLAB Functions:
sslqelqrkalmanevalfr
📊 Expected Output & Metrics: Pitch and yaw cross-coupling reduced by >24 dB, step tracking settling time < 1.8 s, zero steady-state tracking error.
s = tf('s');
G11 = 0.85 / (s^2 + 0.6*s + 1.2);
G22 = 0.55 / (s^2 + 0.9*s + 0.8);
G12 = 0.22 / (s + 1.5);
G21 = 0.18 / (s + 2.0);
G_mimo = [G11 G12; G21 G22];
D_stat = inv(evalfr(G_mimo, 0));
G_decoupled = G_mimo * D_stat;
figure; step(G_decoupled, 5); title('Decoupled TRMS Helicopter Step Response Matrix');
Est. Duration: 2–3 Weeks
Request Custom Project →
22. Active Magnetic Bearing (AMB) High-Speed Rotor Stabilization
Advanced
Toolbox: Control System & Robust Control
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Maintain contactless high-speed rotor levitation (30,000+ RPM) despite severe gyroscopic cross-coupling and unbalance centrifugal forces using multivariable LQR/H-Infinity control.
⚙️ Key MATLAB Functions:
ssplacelqrhinfsynisstable
📊 Expected Output & Metrics: Rotor orbit eccentricity < 15 µm at 30,000 RPM, stable across ISO 14839 standards, critical speed resonance attenuation > 20 dB.
Omega = 2*pi*500;
m = 2.5; ks = 1.8e5; ki = 45;
A = [0 0 1 0; 0 0 0 1; ks/m 0 0 Omega*0.1; 0 ks/m -Omega*0.1 0];
B = [0 0; 0 0; ki/m 0; 0 ki/m]; C = eye(4); D = zeros(4,2);
K_amb = lqr(A, B, diag([1e6, 1e6, 1e2, 1e2]), eye(2)*0.01);
sys_cl = ss(A - B*K_amb, B, C, D);
disp(['Closed-Loop AMB Stability: ', num2str(isstable(sys_cl))]);
Est. Duration: 2–4 Weeks
Request Custom Project →
23. Thermal Management and Temperature Regulation in Lithium-Ion Battery Packs
Intermediate
Toolbox: Simscape Thermal & Control System
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Design liquid cooling valve PID and feedforward controllers to keep EV battery pack cell temperatures within the optimal 25°C–35°C window during 3C fast-charging.
⚙️ Key MATLAB Functions:
pidfeedbacksimsteptf
📊 Expected Output & Metrics: Core cell temperature standard deviation < 1.2°C across 96 cells, maximum temperature capped at 36°C, cooling pump energy cut by 15%.
s = tf('s');
C_th = 850;
R_th = 0.45;
G_thermal = R_th / (R_th * C_th * s + 1);
C_temp = pid(22, 0.08);
T_loop = feedback(C_temp * G_thermal, 1);
figure; step(10 * T_loop, 600); grid on;
xlabel('Time (s)'); ylabel('Cell Temperature Rise (\circC)');
title('Battery Module Fast-Charging Coolant Response');
Est. Duration: 1–2 Weeks
Request Custom Project →
24. Phase-Locked Loop (PLL) Grid Synchronization for Grid-Tied Solar Inverters
Intermediate
Toolbox: Control System & Simscape Electrical
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Design a Synchronous Reference Frame Phase-Locked Loop (SRF-PLL) with SOGI pre-filtering to extract instantaneous grid voltage phase and frequency under distorted grid voltage sags.
⚙️ Key MATLAB Functions:
tffeedbackbodestepsin
📊 Expected Output & Metrics: Phase lock settling time < 15 ms, frequency tracking error < 0.02 Hz under ±5 Hz jump, rejection of 5th/7th harmonics (>40 dB).
s = tf('s');
zeta = 0.707; wn = 180;
Kp_pll = 2 * zeta * wn;
Ki_pll = wn^2;
C_pll = (Kp_pll * s + Ki_pll) / s;
G_pll = feedback(C_pll * (1/s), 1);
figure; step(G_pll, 0.05); grid on;
title('SRF-PLL Phase Tracking Step Response (15 ms Lock)');
xlabel('Time (s)'); ylabel('Phase Output \theta_{est}');
Est. Duration: 1–2 Weeks
Request Custom Project →
25. Self-Balancing Two-Wheeled Segway Robot using Kalman Filter & LQR
Intermediate
Toolbox: Control System & Sensor Fusion
Deliverables: Code .m, Model .slx, Report
🎯 Problem & Objective: Estimate pitch tilt from noisy IMU accelerometer/gyroscope signals and balance a 2-wheeled mobile robotic platform while executing forward/reverse velocity commands.
⚙️ Key MATLAB Functions:
kalmanlqrssinitialplot
📊 Expected Output & Metrics: Pitch angle maintained within ±1.5° during motion, pitch drift zeroed via Kalman sensor fusion, smooth velocity tracking up to 1.5 m/s.
A = [0 1 0 0; 0 -0.15 4.8 0; 0 0 0 1; 0 -0.42 28.5 0];
B = [0; 0.25; 0; 1.85]; C = eye(4); D = zeros(4,1);
Q = diag([5, 1, 200, 10]); R = 0.05;
K_segway = lqr(A, B, Q, R);
sys_cl = ss(A - B*K_segway, B, C, D);
t = 0:0.01:3; x0 = [0; 0; deg2rad(12); 0];
[y, t, x] = initial(sys_cl, x0, t);
figure; plot(t, rad2deg(x(:,3)), 'r', 'LineWidth', 1.5);
grid on; xlabel('Time (s)'); ylabel('Pitch Angle (deg)');
title('Segway Balance Recovery from 12^\circ Push Disturbance');
Est. Duration: 1–2 Weeks
Request Custom Project →