0
\$\begingroup\$

In my application, I am attempting to control the contact force of an end effector. I am getting very poor performance for two primary reasons: the feedback signal has 1) internal delay and it is significantly 2) undersampled.

Unfortunately I am very limited and I cannot improve on the delay of the feedback signal, however I believe there are methods on improve the sampling rate.

I have heard that you can use a Kalman filter in the feedback line to extrapolate in real-time and predict feedback information and improve on sampling. Before adventuring into this, I was wondering if someone can confirm that you can use a Kalman filter to do this. If not, what other methods can be used. Internal modeling is difficult because this system is dominated by external disturbances.

\$\endgroup\$
  • 2
    \$\begingroup\$ Extrapolation is not changing the sampling rate, it is just predicting the future values based on some model and the past data. Kalman filer can predict the data to some extent. \$\endgroup\$ – Eugene Sh. Jul 29 '16 at 16:05
  • \$\begingroup\$ You can certainly use the Kalman filter for state feedback control. It requires a model of the system so that states can be predicted at each sample, and expects the disturbances to be Gaussian. The following is really useful if you haven't used Kalman filtering previously: bzarg.com/p/how-a-kalman-filter-works-in-pictures \$\endgroup\$ – Chu Jul 29 '16 at 17:51
  • \$\begingroup\$ ...and this: cl.cam.ac.uk/~rmf25/papers/… \$\endgroup\$ – Chu Jul 29 '16 at 18:00
  • \$\begingroup\$ I feel this question is better suited for dsp.stackexchange.com than electrical \$\endgroup\$ – efox29 Aug 23 '16 at 16:19
2
\$\begingroup\$

Once the data is undersampled, the high freq information is gone (best case), and if you haven't prefiltered prior to sampling, it is aliased down to a lower frequency.

It can't be undone. A Kalman filter or any interpolation algorithm will not recover it.

If you can tolerate a sample of delay, you can probably upsample the data sufficiently to control your system, but if the poor control is because you're missing high frequency info, or because the high freqs are aliased, you're out of luck.

Your only real hope is that the data is not undersampled, and you're having poor performance for some other reason. In this case, a predictive filter may be of help, as might some other stuff. We'd need some detail to try to figure this out. Can you share why you think the data is undersampled?

\$\endgroup\$
  • \$\begingroup\$ @ScottSeidmann, In a lab bench experiment, I was using a sensor that can provide real-time information that has effectively no delay and was being sampled in kHz. The performance of the robotic device was fantastic. I simulated a slight delay and was still achieving acceptable performance. After these bench tests, I replaced the sensor with what I am given to work with. This sensor has similar latency but it severely undersampled to 20 Hz. Disturbances in my system have highest frequency components unto 2.5 Hz, so I am not understampled for this application, however the control is horrendous. \$\endgroup\$ – gelman_grad Jul 29 '16 at 16:56
  • \$\begingroup\$ If disturbances approach 2.5 Hz and your Nyquist is 10 Hz (half your sampling rate) you will not have much stability margin to work with to overcome disturbance. In other words your loop gain will be limited, and so will the stiffness of your control loop. Try a sensor with at least 10 times the sampling rate as your highest expected disturbance frequency. \$\endgroup\$ – docscience Jul 30 '16 at 0:48

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.