I have a 1-DOF electromechanical application whereby I am controlling the contact-force at the tip of the end-effector.

The force sensor on the end-effector unfortunately gives me force data and an incredibly low sampling rate at 20 Hz, and I cannot do anything about it.

I generated a linear model for my plant and determined I will probably need a sampling rate of at least 320 Hz to follow the rule of thumb (Ts is 1/10th of your time constant). With the current setup, I of course have poor disturbance rejection (i.e., when the surface moves into the end-effector) with a PI controller .

Fortunately, the wall motion is periodic and fairly predictable. I implemented a modified Smith predictor that can reject periodic disturbances. This works fairly well but I am interested in exploring other options. Is there anything else I can take a look into that may help with this situation? For instance, I was considering taking a look into implementing a Kalman filter, since I can use it to predict the next sample in the loop, which may improve performance - I am not sure if that is right.


  • 1
    $\begingroup$ I would remind that a PI is suitable to adjust only the steady state response and it is not intended to be reactive to any change of the plant dynamic. Furthermore, you can decide to calculate your PI-control law with a rate of 320 Hz even with a 20Hz samples coming from the sensor (it will see for certain periods constant values as force signals). $\endgroup$
    – cyberdyne
    Jul 15 '17 at 10:21

You're really, really vague about your application, setup, hardware, etc., so I don't know that it's possible to really give any meaningful advice. Regarding the Kalman filter, you are correct in that part of the filter predicts the next sample, but that's just the linearized model that you said you already have. You could propagate that model to generate filler samples, but again that would just be using your system model.

I don't know what kind of a force sensor you would be using that would only output that low of a force, or what your system is, but maybe you could get (noisier) higher-frequency samples via other means, like strain gauges, shunt resistors (to measure current), etc.

The biggest suggestion I think I could give you would be that, if you have a system model, you switch from a PI controller to a state feedback controller. That uses a built-in linearized model of your plant to provide better control. If you have the linearized model already, then it should be pretty straightforward to generate the controller. This of course won't fix your sampling rate, but you might get better performance with a more robust controller.

  • $\begingroup$ Yes, I tried to give as much information as possible at the same time not overwhelming - there is a lot to this story. The force sensor is proprietary and I do not have the ability to increase its sampling rate - it is not a standard strain gauge. I will take a look into state feedback controllers, thank you. $\endgroup$ Jun 15 '17 at 19:34
  • $\begingroup$ I would look into other feedforward controllers, such as QFT and nonlinear adaptive control. The performance characteristics and challenges to setting them up vary widely, so this is a very open-ended question. $\endgroup$
    – SteveO
    Aug 14 '17 at 20:06

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.