1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Kalman filter unstable in closed loop application

  1. Sep 5, 2017 #1
    I have implemented the closed-loop motor control system as above in a Matlab simulation (pic Kalman.png). Here, the Kalman filter estimates the torque disturbance and angular speed of the motor and those are feed to the RLS algorithm for parameter identification, here it estimates the combined inertia of the rotor and the load. I have successfully simulated it with a constant J feed to the Kalman filter (0.089 for example) instead of feeding estimated J back to the Kalman filter in pic (Kalman1.png), and the RLS parameter identification correctly estimates the inertia which is close to 0.089 (within 0~3% error band).

    But, when I feed the RLS estimated J to back to the Kalman filter after running for few seconds when the J estimate reaches close to 0.089, using an analog switch, the system becomes unstable and RLS outputs become 'nan'. I tried using an average block (avg of 100 samples) between the RLS and Kalman filter in the J feedback line and it seems to stabilize the system a bit but not for a long time. I guess there is a better way to achieve the following:

    1) Removing the average block

    2) The J (estimated) connection between the RLS and the Kalman filter should be there from the beginning without the need of an analog switch.

    My control engineering knowledge is not advanced level so any suggestion of an idea, document or a book (application oriented) will be highly appreciated.

    Attached Files:

  2. jcsd
  3. Sep 10, 2017 #2
    Thanks for the thread! This is an automated courtesy bump. Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post? The more details the better.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted