Adding integral action to MPC for offset-free tension tracking.
name integral-action-design description Adding integral action to MPC for offset-free tension tracking. Integral Action for Offset-Free Control Why Integral Action? MPC with model mismatch may have steady-state error. Integral action eliminates offset by accumulating error over time. Implementation u_I = gamma * u_I - c_I * dt * (T - T_ref) u_total = u_mpc + u_I Where: u_I: Integral control term gamma: Decay factor (0.9-0.99) c_I: Integral gain (0.1-0.5 for web systems) dt: Timestep Tuning Guidelines Integral gain c_I : Too low: Slow offset correction Too high: Oscillations, instability Start with 0.1-0.3 Decay factor gamma : gamma = 1.0: Pure integral (may wind up) gamma < 1.0: Leaky integrator (safer) Typical: 0.9-0.99 Anti-Windup Limit integral term to prevent windup during saturation: u_I = np.clip(u_I, -max_integral, max_integral) For R2R Systems Apply integral action per tension section: for i in range (num_sections): u_I[i] = gamma * u_I[i] - c_I * dt * (T[i] - T_ref[i])