Course materials · Control Engineering II
Programming language

Model Uncertainty and Robustness

English translation

Apply a controller designed for one model to several actual models and delay conditions to find where performance deteriorates.

Before practice

01 How does the same controller's response change when mass, damping, and stiffness vary?

Description

Keep gain fixed, change the plant's three parameters, and calculate poles and step responses. This activity compares 27 models formed by combining three values for each parameter.

02 How can you assess whether models between the selected values are also stable?

Description

Rather than calculate a few more models, assess whether all coefficients of this example's 2nd-order characteristic polynomial are positive throughout the given range. Distinguish stability over the entire range from individual responses' settling times.

Practice

Preview practice notebookDownload practice notebookPreview practice mlx scriptDownload practice mlx script

1. Applying the nominal controller to other actual models

Starting conditions

m∈{.7,1,1.3}m\in\{.7,1,1.3\} kg, b=3b=3 N·s/m, k=2k=2 N/m. Fix K and N at the values designed for m=1m=1.

Procedure

  1. Keep the nominal controller fixed and compare the poles and responses of the three actual models.
  2. Find the final value and 2% settling time of each response, and identify the slowest condition.

Results to retain

Items to record and points to check
Mass
Pole
Final value
Settling Time

Points to check

  • Did you keep K unchanged rather than redesigning it for each actual model?
  • Did you check that the response stays within the 2% band after the settling time?

2. Changing mass, friction, and stiffness together

Starting conditions

Use the 27 combinations of m∈{.7,1,1.3}, b∈{2,3,4}, and k∈{1,2,3}. Keep K=[63]K=\begin{bmatrix}6&3\end{bmatrix} and N=8N=8 fixed.

Procedure

  1. For each combination, find the maximum real part of the eigenvalues of A−BKA-BK. Record the number of models where this value is negative and where it is 0 or greater.
  2. Find the combination with the largest maximum real part. Also calculate yss=−C(A−BK)−1BNy_{ss}=-C(A-BK)^{-1}BN for each combination, and separately find the combination with the largest |1−yss||1-y_{ss}|.
  3. For the two selected combinations, tabulate m,b,km,b,k, maximum pole real part, and steady-state error, and plot unit-step responses on the same time axis.
  4. Distinguish the parameter values checked in this calculation from the unchecked values between them. Explain which coefficient conditions in the learning material's characteristic polynomial should be examined to assess stability over the entire range.

Results to retain

Items to record and points to check
m,b,k
Maximum pole real part
Steady-State Error

Points to check

  • Did you calculate poles from A−BKA-BK rather than A?
  • Did you distinguish pole calculations for the 27 combinations from analytical justification covering the entire parameter range?

3. With input delay and saturation

Starting conditions

Euler-integrate the nominal model's state with dt=.002 s steps for 6 s. Input delays are 0,.08,.2 s, and the input limit is ±4.

Procedure

  1. Use the practice notebook's function to plot outputs and inputs for the three delays.
  2. Halve dt and check that the main responses remain similar.
  3. Explain why linear-pole stability alone is insufficient to assess an implementation with delay and saturation.

Results to retain

Items to record and points to check
Delay
dt
RMS tracking error
Input saturation fraction

Points to check

  • Is delay implemented by retrieving past inputs from the command history?
  • Did you avoid confusing time-step effects with model instability?

Official examples and data