Library / Control engineering / CTL-20
Control engineering
State-feedback gains for a double integrator
Gains of u = -K₁x₁ - K₂x₂ for the plant ẍ = u (position x₁ and velocity x₂) that place the closed-loop poles to give a chosen natural frequency and damping ratio.
- Ref
- CTL-20
- Rev
- v1
- Field
- Control engineering
- Result
- K2 [1/s]
For the plant ẋ₁ = x₂, ẋ₂ = u (position x₁ and velocity x₂) with state feedback u = −K₁x₁ − K₂x₂, the closed-loop characteristic polynomial is s² + K₂s + K₁. Matching it with s² + 2ζωns + ωn² gives K₁ = ωn² and K₂ = 2ζωn. Here K₂ is the output; the position gain K₁ appears in the derived results. The poles are −ζωn ± jωn√(1 − ζ²) for ζ below 1.
Gains of u = -K₁x₁ - K₂x₂ for the plant ẍ = u (position x₁ and velocity x₂) that place the closed-loop poles to give a chosen natural frequency and damping ratio. The characteristic polynomial becomes s² + K₂s + K₁.
Calculator
- Position gain, K₁ = ωn²9 1/s²
- Real part of the poles, −ζωn−2.1 1/s
- Ratio K₂² / K₁ = 4ζ²1.96
What drives the result
Each variable is moved across its typical range while the others stay at the values above. The longest bar is the key driver.
- For ωn = 3 rad/s and ζ = 0.7 the gains are K₁ = 9 and K₂ = 4.2, placing the poles at −2.1 ± j2.142.
- As a check, gains of K₁ = 6 and K₂ = 5 give s² + 5s + 6 with real poles at −2 and −3, which correspond to ωn = √6 ≈ 2.449 rad/s and ζ = 5/(2√6) ≈ 1.021, just over critical damping.
Chart data as tables
Ranked variables
| Variable | Typical range | Lowest result | Highest result | Swing (1/s) | Local step | Change in result |
|---|---|---|---|---|---|---|
| ωn Desired natural frequency | 1 to 10 rad/s | 1.4 | 14 | 12.6 | +10% | +10 % |
| ζ Desired damping ratio | 0.3 to 1.5 | 1.8 | 9 | 7.2 | +10% | +10 % |
Sweep of Desired damping ratio
| Desired damping ratio | Velocity gain K₂ (1/s) |
|---|---|
| 0.3 | 1.8 |
| 0.45 | 2.7 |
| 0.6 | 3.6 |
| 0.75 | 4.5 |
| 0.9 | 5.4 |
| 1.05 | 6.3 |
| 1.2 | 7.2 |
| 1.35 | 8.1 |
| 1.5 | 9 |
Sweep one variable
Variables and how each one contributes
Velocity gain K₂
What the equation gives you. Everything else feeds it.
Desired natural frequency
The natural frequency you want, in rad/s. Directly proportional for K₂. The position gain K₁ rises with the square, which makes a faster loop much harder to drive. Raising it by 10 % (to 3.3) moves the result by +10 %, from 4.2 to 4.62 1/s.
Desired damping ratio
The damping ratio you want. Values near 0.7 are a common choice for a fast response with little overshoot. Directly proportional: the velocity gain sets the damping. Raising it by 0.1 (to 0.8) moves the result by +14.3 %, from 4.2 to 4.8 1/s.
Worked example with the values above
- Position gain: K₁ = ωn² = 3² = 9.
- Velocity gain: K₂ = 2ζωn = 2 × 0.7 × 3.
- K₂ = 4.2 1/s, giving the closed-loop polynomial s² + 4.2s + 9.
Assumptions and limits
- An ideal double-integrator plant (ẍ = u) with no friction, delay or actuator dynamics, and both states measured.
- The required control effort is within the actuator limits. Gains scale with ωn², so fast loops demand large commands.
Common mistakes
- Choosing a natural frequency that demands more control effort than the actuator can supply. Large errors then saturate the command and the linear design no longer holds.
- Assuming the velocity is measured cleanly. A differentiated position signal is noisy, and the poles move if an observer or filter is used instead.
Statistics and uncertainty
The gains follow exactly from the model, so their accuracy depends on how well the plant ẍ = u describes the real system. Real axes have friction, actuator lag and sensor noise, so measured damping will differ from the design. The position gain grows as ωn², so a 10 % error in ωn is a 21 % error in K₁ and the loop is more sensitive to that gain than to K₂.
Where it is used
- Placing the closed-loop poles for a simple positioning or attitude axis.
- Setting initial gains for a servo before adding integral action or an observer.
Maths you need
- Characteristic polynomial: det(sI − A + BK) = 0
- Natural frequency and damping ratio: s² + 2ζωn s + ωn²