0
$\begingroup$

The desired control is $u_f=\frac{1+\eta s}{1+hs}a$, where $u_f$ is the feedforward control, $a$ is the feedforward observation and $\eta$ and $h$ are two constant parameters. However, I can only observe $a$ but not $\dot{a}$. How to realize this in discrete time?

The method I use now is the zero-order hold method, which yields the discrete-time transfer function as $H(z)=\frac{\eta z/h-\exp(-T/h)+1-\eta/h}{z-\exp(-T/h)}$. This result is the same as that of Matlab funtion c2d. With $H(z)$, I can calculate $u$ without knowing $\dot{a}$. Is it the right way to do it?

Moreover, the control system contains other modules such as the plant dynamics $x = Gu$ and feedback control $u_b = Ky$, where $u=u_f+u_b$. Can I discrete these modules one by one and then synthesize them?

$\endgroup$

1 Answer 1

1
$\begingroup$

I can calculate u without knowing a˙. Is it the right way to do it?

Sure!

Moreover, the control system contains other modules such as the plant dynamics x=Gu and feedback control ub=Ky, where u=uf+ub. Can I discrete these modules one by one and then synthesize them?

Usually, we tend to first synthesize the controller in the s-domain and then discretize the continuous blocks with a given sample time $T$.

This pipeline is reported in https://robotics.stackexchange.com/a/4434/6941.

As a side note, consider using the Tustin formula for the discretization instead of the ZOH as the former method generally provides better results.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.