Trimming simulink models using findop/linear analysis tool

조회 수: 7 (최근 30일)
Christopher Dadswell
Christopher Dadswell 2015년 6월 11일
편집: Ilja Pricker 2022년 11월 29일
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

답변 (2개)

Drew Davis
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
Grisha Khodos 2018년 5월 29일
Hi I am experiencing similar problem. Have you solved the issue? Thanks
MANAR MAHMALJI 2022년 3월 3일
Hello, have you manged to solve this issue?

댓글을 달려면 로그인하십시오.

Ilja Pricker
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,


Help CenterFile Exchange에서 Automotive Applications에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by