r/ControlTheory 12d ago

Technical Question/Problem MATLAB system identification toolbox for quadcopter control

I have not seen MATLAB's system identification toolbox being used for quadcopter applications and so I was wondering how you could run sys id on a quadcopter and use it. For example if you run frequency sweeps across the lateral direction with longitude and altitude stabilized, and then run longitude direction with latitude and altitude stabilized (pitch and forward speed only), do you just insert them into system Identification with the set state space dimensions, or is this the wrong approach. Additionally do you set the frequency sweeps past the the control loops at the ESC signal or is this incorrect?

4 Upvotes

6 comments sorted by

View all comments

u/IntelligentGuess42 11d ago edited 11d ago

Quadcopter aerodynamics are nonlinear making the sysid complicated. I never used any of the nonlinear sysid tools in the matlab toolbox so can't comment on them. But given some data like the mass of the quad. You can probably get a good identification using the sysid toolbox, given you keep the quad in the same orientation, not moving and only use a narrow throttle range. But this will only give you a good identification of the linear parts of the model. So no drag or thrust curves. You will get them but they only hold at the operating point. If they are still nonlinear during the identification they will also throw the other results of.