控制理论:阻尼振荡器速度稳定的反馈控制技术咨询
Got it, let's walk through designing a feedback control scheme for your damping oscillator to stabilize its speed. First, let's restate your system in standard state-space terms to make things clearer:
Let’s define the state vector as $\mathbf{x} = \begin{bmatrix} x \ \dot{x} \end{bmatrix}$, so the dynamics are:
$$\dot{\mathbf{x}} = A\mathbf{x} + B u$$
where:
- $A = \begin{bmatrix} 0 & 1 \ -\omega^2 & -\Gamma \end{bmatrix}$
- $B = \begin{bmatrix} 0 \ \frac{1}{m} \end{bmatrix}$
Our goal is to stabilize $\dot{x}$ (the second state variable, let's call it $x_2$) to a desired value—either regulating it to 0 or tracking a constant reference speed. Here are two practical approaches:
1. State Feedback for Speed Regulation (Stabilize to 0)
First, we need to confirm the system is controllable (a prerequisite for arbitrary pole placement). The controllability matrix is:
$$\mathcal{C} = \begin{bmatrix} B & AB \end{bmatrix} = \begin{bmatrix} 0 & \frac{1}{m} \ \frac{1}{m} & -\frac{\Gamma}{m} \end{bmatrix}$$
The determinant of $\mathcal{C}$ is $-\frac{1}{m^2} \neq 0$, so the system is fully controllable. Perfect—we can use state feedback to set the system's poles wherever we want for stable, well-behaved response.
Design the Control Law
Define the state feedback control law as:
$$u = -K\mathbf{x} = -[k_1 \quad k_2]\begin{bmatrix} x \ \dot{x} \end{bmatrix}$$
Substitute this into the state equation to get the closed-loop dynamics:
$$\dot{\mathbf{x}} = (A - BK)\mathbf{x}$$
Calculate $A - BK$:
$$A - BK = \begin{bmatrix} 0 & 1 \ -\omega^2 - \frac{k_1}{m} & -\Gamma - \frac{k_2}{m} \end{bmatrix}$$
Pole Placement
The closed-loop characteristic equation is:
$$\det(sI - (A - BK)) = s^2 + \left(\Gamma + \frac{k_2}{m}\right)s + \left(\omega^2 + \frac{k_1}{m}\right) = 0$$
Choose desired poles to get the speed response you want—for example, pick poles $s = -\sigma \pm j\omega_d$ (where $\sigma > 0$ ensures stability, $\omega_d$ sets the oscillation frequency). The corresponding characteristic equation is:
$$s^2 + 2\sigma s + (\sigma^2 + \omega_d^2) = 0$$
Match coefficients to solve for the gains:
- $k_2 = m(2\sigma - \Gamma)$: This adjusts the effective damping of the system. If the natural damping $\Gamma$ is too low, this gain adds artificial damping to speed up stabilization.
- $k_1 = m(\sigma^2 + \omega_d^2 - \omega^2)$: This adjusts the effective stiffness, helping to stabilize the position $x$ which indirectly supports steady speed behavior.
2. Integral State Feedback for Constant Speed Tracking
If you need to track a constant reference speed $v_{\text{ref}}$ (not just regulate to 0), pure state feedback will leave a steady-state error. Adding an integral term eliminates this error by accounting for accumulated error over time.
Augment the State Vector
Define the speed error $e = v_{\text{ref}} - \dot{x}$ and an integral state $x_3 = \int e , dt$. The augmented state vector is $\bar{\mathbf{x}} = \begin{bmatrix} x \ \dot{x} \ x_3 \end{bmatrix}$. The augmented dynamics become:
$$\dot{\bar{\mathbf{x}}} = \begin{bmatrix} 0 & 1 & 0 \ -\omega^2 & -\Gamma & 0 \ 0 & -1 & 0 \end{bmatrix}\bar{\mathbf{x}} + \begin{bmatrix} 0 \ \frac{1}{m} \ 0 \end{bmatrix}u + \begin{bmatrix} 0 \ 0 \ 1 \end{bmatrix}v_{\text{ref}}$$
Design the Augmented Control Law
Use the control law:
$$u = -K\bar{\mathbf{x}} = -[k_1 \quad k_2 \quad k_3]\begin{bmatrix} x \ \dot{x} \ x_3 \end{bmatrix}$$
Now you can place the three poles of the augmented closed-loop system in the left half of the complex plane (just like in the regulation case) to ensure stable tracking with zero steady-state error.
Key Notes
- If you can't measure both position $x$ and speed $\dot{x}$, you'll need to design a state observer to estimate the unmeasured state(s) and use observer-based feedback.
- Tune the desired poles based on your performance requirements: higher $\sigma$ gives faster stabilization, while $\omega_d$ controls the amount of oscillation (lower $\omega_d$ means less overshoot).
内容的提问来源于stack exchange,提问作者SomeRandomPhysicist

