Position velocity control structure px4 release 1.10 (stable))

@Ranjeet It really depends which setpoint you send to the controller: If you only send a position setpoint, there will be no feedforward automatically computed. However, if you give it a position, velocity and acceleration setpoints, the controller will use the velocity and acceleration setpoints as feedforwards.

Let’s take the example of the mission mode:
In mission (auto) mode, the setpoints are generated in a FlightTask using a jerk-limited trajectory generator. In this case, the position/vel/acc references are continuous and can be safely given to the position/velocity controller.

Regarding the acceleration setpoint, it is added as a feedforward to the output of the velocity controller, before being transformed into thrust. We can summarize the data flow as follows:

pos_sp -> pos (P) controller -> add vel FF (optional) -> vel (PID) controller -> add acc FF (optional) -> convert to thrust -> convert to attitude setpoint -> attitude (P) controller -> rate (PID) controller -> control allocation -> motors

Hope it helped.