@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.