Introduction
When testing actuators, it is common to use one hydraulic cylinder (the loading cylinder) to apply a constant force on the cylinder that is the unit under test (UUT), while the position of the UUT is moving back and forth.
Problem
Controlling force when the velocity varies significantly is challenging. The loading cylinder is in force control, using a force PID and feed forwards. However, in this situation, the force feed forward and force rate feed forward do not help, since the gain of the force control varies greatly with velocity. The loading cylinder is in effect only using a PID, which is limited in how quickly and accurately it can respond to changes in the force.
Solution
The best solution is to add a velocity feed forward to the loading cylinder axis. A force axis does not have a velocity feed forward, so we must create one. To do so, we create a user program that continuously multiplies the velocity by a variable that we call the velocity feed forward, and add that to the Control Output by putting it in the Output Bias.
-
Preferred Velocity Source: The loading axis will achieve the best control if the RMC is controlling the UUT in position control. In this case, the velocity feed forward that we made for the loading axis can use the UUT Target Velocity, which is a very clean signal, with no delays.
-
Alternate Velocity Source: If the RMC is not in control of the UUT, the control will not be as good. In this case, the velocity feed forward that we made for the loading axis must use the UUT Actual Velocity, which typically has some noise and will have some delay (hopefully minimal), and therefore will not control so well.
Other Factors
Another important factor for controllability is that there is no slop in the system. The loading cylinder and UUT should be tightly coupled together, especially if the force goes both negative and positive. If the loading cylinder is always applying a force in the same direction, this requirement may not be necessary.
Example
Attached is a project with examples for the RMC75 and RMC150. The Initialize Loading user program starts the VFF program on a separate task, and it must keep running on that task while the loading cylinder is controlling force. The project also includes an example of how to define a load profile based on position, if that is desired.
Velocity Feed Forward in Force Control for opposing actuators.rmcproj (72.4 KB)