Position Control Feed Forward Terms


I’m wondering where the Feed Forward terms are implemented in the Multicopter Position Controller.

I see where the parameters come in to the code and set _params.vel_ff.

However, in MulticopterPositionControl::do_control(float dt) it seems that vel_ff is set to zero. I do not see anywhere else in the code that vel_ff exists (using Ctrl+F).

Are the feed forward terms being used at all? Does changing these gains in QGroundControl actually change anything inside the controller? If so, where does this change occur? I’d like to understand the implementation strategy before blindly changing parameter values.


You’re right, it appears they aren’t actually used anymore. That should either be fixed, or we should remove all references to it.

@Stifael @MaEtUgR FYI

Thanks for confirming that.

My preference would be for it to be fixed and included. Based on my personal controls experience, it would be useful for high-precision applications to include a feed forward term.

Do you happen to know the most recent release that had this implemented? Was it ever implemented, or was it built in as a placeholder for future implementation?