Peter Nachtwey
Member
Position System control with Feed Forward Only
WHY Feed Forwards?
If you have follow the previous threads you have seen where minimizing the ITAE or ISE can cause the system to be very 'twitchy' if carried to extremes. This is because PID requires error to work and gains can't be increased indefinitely. There is NO WAY you can tune as system perfectly with just a PID. Many people waste too much time trying.
Feed forwards can are used to provide a good estimate of the required control output. If this estimate is within 1% of the actual control output, the PID only needs to provide %1 of the control output. Little error required for the PID to generate that last %1 of control signal. If fact only about %1 of the error that would have been required without the feed forwards. Does that thinking seem a little backwards? Is it error that causes the output or is the error required to generate the necessary output. Think about it. I will comment later.
The above link is a modified spread sheet that has had the PID DISABLED and two feed forwards gains added. The feed forward gains are Kv ( velocity feed forward ) and Ka ( acceleration feed forward ).
The equation calculating the control output from feed forwards is easy:
output = Kv * target_velocity + Ka * target_acceleration
One can see the feed forward terms is independent of the actual position, speed etc. This means that adjusting these gains will not make the system oscillate. One can make the system overshoot though as you will see when you play with the spread sheet.
The goal is two fold. First to tune Kv and Ka only to minimize the ISE. The second is to modify the system Gain and Time Constant a little and notice how Kv and Ka change. There is a simple relationship between the system gains ( G, TC ) and the feed forwards gains ( Kv and Ka ). I will comment on this later after there has been time to experiment.
Don’t be afraid to ask questions. The concept of feed forwards is very import. A few have already mentioned that tuning the spread sheets is much more difficult without the feed forwards.
WHY Feed Forwards?
If you have follow the previous threads you have seen where minimizing the ITAE or ISE can cause the system to be very 'twitchy' if carried to extremes. This is because PID requires error to work and gains can't be increased indefinitely. There is NO WAY you can tune as system perfectly with just a PID. Many people waste too much time trying.
Feed forwards can are used to provide a good estimate of the required control output. If this estimate is within 1% of the actual control output, the PID only needs to provide %1 of the control output. Little error required for the PID to generate that last %1 of control signal. If fact only about %1 of the error that would have been required without the feed forwards. Does that thinking seem a little backwards? Is it error that causes the output or is the error required to generate the necessary output. Think about it. I will comment later.
The above link is a modified spread sheet that has had the PID DISABLED and two feed forwards gains added. The feed forward gains are Kv ( velocity feed forward ) and Ka ( acceleration feed forward ).
The equation calculating the control output from feed forwards is easy:
output = Kv * target_velocity + Ka * target_acceleration
One can see the feed forward terms is independent of the actual position, speed etc. This means that adjusting these gains will not make the system oscillate. One can make the system overshoot though as you will see when you play with the spread sheet.
The goal is two fold. First to tune Kv and Ka only to minimize the ISE. The second is to modify the system Gain and Time Constant a little and notice how Kv and Ka change. There is a simple relationship between the system gains ( G, TC ) and the feed forwards gains ( Kv and Ka ). I will comment on this later after there has been time to experiment.
Don’t be afraid to ask questions. The concept of feed forwards is very import. A few have already mentioned that tuning the spread sheets is much more difficult without the feed forwards.
Last edited: