-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linearization in control notebook doesn't work when equilibrium point is note all zeros #118
Comments
Likely, all qdots should be substituted with the associated u's before linearizing. The linearizer or the Kanes/LagrangesMethod objects should likely do this. Please submit an issue to sympy and maybe we can develop a fix. Otherwise you need to manually prepare the input to the linearizer so that it works. |
@moorepants Can you please elaborate on this: "you need to manually prepare the input to the linearizer so that it works."? I'm encountering the same issue. When creating a KanesMethod object and trying either to_linearizer and then linearize(), or just linearize() from the Kanes object. The A matrix from the linearization has udot terms. |
I think there may be some bugs with the linearizer related to the fact that it doesn't check whether all derivatives have been eliminated on the right hand side of the explicit odes. So KanesMethod has |
Thanks for your quick reply. The manual approach works well. As you said, M and F do not have any derivatives. so linearizing the explicit Mx'=F is a fine solution. The method "to_linearizer()" is using fr and frstar instead of the explicit ode (M and F). The derivatives seem to be coming from the f_2 term in the Linearizer object. |
Here's an open issue on sympy: sympy/sympy#20486. |
As the title says, when linearizing equations of motion in order to obtain control, the odd thing happens: if equilibrium point is not all zeros, the output from linearizer contains speed derivatives, e.g.
At this point, A has some speed derivatives left in some terms for unknown reason:
Any idea how to resolve this issue?
The text was updated successfully, but these errors were encountered: