How can I track two set-points in a system using only one output?

Example: make a motor track a position x moving in a speed y while I have only voltage as an output, speed and position as feedback.

can this be done with PID or there is a need for more complex methods?

  • $\begingroup$ But if your position is perfectly matched, wouldn't your velocity be matched as well (assuming that you use the time derivative of the position reference as the velocity reference). $\endgroup$ – fibonatic Oct 29 '17 at 5:57
  • $\begingroup$ I can perfectly match the position, but that would happen in undefined speed, different positions would be tracked with different speeds. $\endgroup$ – Ammar Hussein Oct 29 '17 at 6:01

If your position and velocity are related (i.e. the speed is derived from the position) then they are kind of matching. In this case, if you use a simple proportional controller you can track the position but if you use a PD you are providing an extra information on the derivative of the tracked position, thus you can have a better tracking because the controller also has information about the derivative. This approach relies on feedback on the quantities, i.e., you check the discrepancy between desired and an actual values. As noted by @fibonatic, you can use mixed approach where you apply feedback on the position and a feedforward approach on the higher derivative (so you only consider the desired values not checking against the actual ones).

If you have position and velocities which are not matching, it is physically impossible to track both for your system. The first requirement of a trajectory generator is to produce feasible trajectories, i.e. feasible pairs of position velocity w.r.t your system dynamics.

Note that in practice there is potentially an infinity of such feasible trajectories (as pointed out by @Gürkan Çetin) and you could choose the "best" one based on your criteria (minimal time, minimal energy, ...) via optimization methods if you have a good enough model.

| improve this answer | |
  • $\begingroup$ You might as well add that finding a feasible path is a matter of optimization, as there are possibly several paths (if not infinite) that may be feasible. $\endgroup$ – Gürkan Çetin Nov 3 '17 at 14:18
  • $\begingroup$ It might be worth mentioning that you could also only use the reference position for feedback and use the reference velocity (position and possibly higher derivatives) for feed forward. $\endgroup$ – fibonatic Nov 13 '17 at 9:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.