J,
the idea of the method described in the document that you have linked is to add a voltage that is proportional to the position of an axis. As proposed in the document you could use two axes for the job - one to control the axis with PID and another one to generate the additional voltage.
As both axes need to start and stop in a synchronized way, you need to run them in a vector space. Typically you define a vector space in your application. I'm assuming that you are using LabVIEW, but the function calls are almost exactly the same in other programming languages.
To define a vector space call "Configure Vector Space.flx", (please refer to the shipping "Multiple Axes" examples of NI-Motion for further information). Axes that are combined in a vector space start and stop at the same time and that's what you want here.
Now you can provide two dimensional target positions (X,Y) to the vector space. While Y represents the real target position of your moving axis, X is proportional to the output voltage of axis1 at the end of the move. I would suggest to set the PID parameters of axis1 to to Kp=1, Kd=0 and Ki=0. This should provide the most flexibility in your application to add the amount of output voltage that is appropriate for the current situation.
In general this approach should work for the intended use case, but it is still a little bit cumbersome. Could you provide additional information about your application? This could possibly allow me to come up with an alternative approach.
Thanks and kind regards,
Jochen Klier
National Instruments