The feedforward control is a new feature available in the 4th generation Roboteq products (G4). Feedforward control comes to fill the gap that feedback control leaves during the acceleration and deceleration of the motor. By using only the PID feedback loop, the loop error during acceleration/deceleration will be more or less contant and this will lead to a permanent lag. Only the integral term can work reducing that delay but this might not happen quicker than the time that the speed has reached the steady state region.



Feedforward control will take as an input the acceleration of the motor (speed difference) and will have as an output a power demand proportional to that. This power will be added to the power demand calculated by the PID algorithm. This will create a boost effect when the motor accelerates/decelerates, and will have a minimum impact when the motor is at the steady state where the motor aceleration is zero. The feedforward control has an additional term that will create a power proportional to the motor speed, so if this is enabled it will afect also the steady speed region, and its impact will icrease as the speed is getting higher. 



Motor Power = Feedback (Loop Error) + Feedforward (Speed)


By using Feedforward control together with PID loop, the Ramp command and motor speed (feedback) can completely coincide. 




Enabling the Feedforward control


The feedbforward term that is proportional to the acceleration of the motor can be used to fight the inertia of the system and the term that is proportional to the motor speed can be used to compensate to the power loses due to friction. That's why the feedbforward loop can be tuned by knowing these two parameters. Thankfully, the PID auto tuning wizard, will calculate the inertia and friction of the system and store this parameters to the controller. Once these two parameters are set, the feedforward control is enabled! To diasble it the two parameters should be zero. Modify the two parameters to finetune the Feedbforward loop.



Feedforward control in Position mode


Position mode uses an additional feedbforward loop, similar to the one that speed loop is using. This time the speed of the motor will be used as an input to the algorithm. The additional power that will be created will be proportional to the motor speed and this will help to reduce the constant error that is usually being observed during this transient stage.  


To enable the feedforward control in position mode set the feedforward parameter with a value higher than 0. Using values higher than 1 will make the reponse more aggressive.