Trimming simulink models using findop/linear analysis tool
9 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I'm having some issues using the findop function/linear analysis tool that Simulink provides. I've built a Simulink model of a quadcopter using simmechanics and now need to analyse its dynamics in the hover, but to do that I first need to trim it there. I've defined the model such that it has 4 inputs: Collective/throttle, pitch, roll and yaw commands.
When I try to trim the model, I set the states I wish to drive to steady-state or a known value (angular/linear velocities of the 6DoF joint that connects the quadcopter to the world to 0) and the trim 'completes' without issue, ie it seems to drive all these states to a steady state. However, the input states remain at their initial zero values so if I initialise the model with these trims, the quadcopter immediately drops out the sky due to having no commanded throttle.
It may be that I'm misunderstanding what this tool is trying to do, but I assumed that it would vary these input parameters to drive the required states to steady state. It definitely doesn't seem to be doing this as the inputs are not being changed at all even though multiple iterations are occurring through the trim process.
Am I using the right tool for the job? And if so, does anyone have any idea what I'm doing wrong?
Many thanks, Chris
0 件のコメント
回答 (2 件)
Drew Davis
2015 年 6 月 12 日
To determine the steady-state control input, you must ensure that your root level model has an input port feeding as an input into your plant when you trim the model.
3 件のコメント
Grisha Khodos
2018 年 5 月 29 日
Hi I am experiencing similar problem. Have you solved the issue? Thanks
Ilja Pricker
2022 年 11 月 28 日
編集済み: Ilja Pricker
2022 年 11 月 29 日
Hey all,
I was having a similar issue. In my case it was due to the fact that the information about the trim conditions (inputs, outputs, states - known, steady-state; custom-constrained-fnc) was overdetermined in some way (meaning some of the restrictions were inconsistent / contradicting each other).
I doubt that your trimming yielded actually a meaningful operating point without the inputs considered. Reflect on what you actually want to find out - what exactly is the purpose of your trimming? What is it you want to find given what information? Does it make sense physically? Maybe you actually found a trim condition, which is "falling from the sky", where the variables of interest are indeed in steady-state.
Anyway, there might be multiple reasons for it.
- Look, whether your mathematical system as you constrain it, is overdetermined - or underdetermined, respectively;
- maybe you found yourself some local minimum -> thus always try multiple initial conditions (even for states & inputs that are unknown);
- maybe try some other optimization routine
- if your model includes PIDs - you might want to look at those and their role within the trim process (specifically integrator & filter)
Another convenient option is to trim via simulation snapshot, if applicable.
Hope that helps,
Ilja
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で General Applications についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!