![]() ![]() The following example illustrates how we can perform advanced pole-zero placement using the function rstc ( rstd in discrete time). To get better control over the filter, it can be pre-designed and supplied to loopshapingPID with the keyword argument F: F = tf(1, )Ĭ, kp, ki, kd, fig, CF = loopshapingPID(P, ω Mt, ϕt, doplot=true, F) Advanced pole-zero placementĪ video tutorial on pole placement is available here: Tf = 1/20ωĬ, kp, ki, kd, fig, CF = loopshapingPID(P, ω Mt, ϕt, doplot=true, Tf)Īs we can see, the addition of the filter increases the high-frequency roll-off in both $T$ and $CS$, which is typically desirable. The example below passes the keyword argument Tf=1/20ω to indicate that we want to add a second-order lowpass filter with a cutoff frequency 20 times faster than the design frequency. This is generally undesirable for both robustness and noise reasons, and is commonly solved by introducing a lowpass filter in series with the controller. Since we are designing a PID controller, we expect a large controller gain for high frequencies. In general, the smaller $M_t$ we require, the larger the controller gain will be. To get good robustness, we typically aim for a $M_t$ less than 1.5. Ω = 1 # Frequency at which the specification holdsĬ, kp, ki, kd, fig = loopshapingPID(P, ω Mt, ϕt, doplot=true) Mt = 1.3 # Maximum magnitude of complementary sensitivity \[L = \text| = M_t$ The tangent point is specified by specifying $M_t$ and the angle $\phi_t$ between the real axis and the tangent point, indicated in the Nyquist plot below. The infinite-horizon LQR controller is derived as the linear state-feedback $u = -Lx$ that minimizes the following quadratic cost function ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |