87 karma · joined September 26, 2018
“Linear systems are important because we can solve them.” — Richard Feynman
http://brettbeauregard.com/blog/2011/04/improving-the-beginn...
The integral problem of LQR and MPC is indeed not the first topic discussed on textbooks, but there has been a solution for that for year, called "disturbance model". You you can have an "adaptive MPC" following some design procedures. Check out this reference:
https://folk.ntnu.no/skoge/prost/proceedings/ifac2014/media/...
The most complex part is the identification algorithm, which uses this algorithm: https://math.stackexchange.com/questions/1428566/fit-sum-of-...
The difficult part is the identification algorithm, that is the challenging part, to accept all sorts of user data for all sorts of processes.
There is no monetization, users can be patreons, by a mug, a shirt or simply help by sharing the site. I miantain it on my free time.
Simulating limits will be included in the next release.
Hysteresis is something more difficult, so will not handle any time soon.
Asymmetric systems can be handled by gain-scheduling the PID (make a model for each region and schedule the gains), this is approachable in the middle term.
Than being said, my advise is to study for a domain that interest you, for example I am a Control Engineer. Then learn the programming language of your domain.
In my domain the design language is Matlab/Simulink, then when I got into the job market I realized that my career would benefit by learning 61131 (PLC languages), C and C++. So I learnt that. Now I am very good with the Qt framework, for example, which allowed me to enter a broader market of industrial application development.
So stop looking for an language to learn and better look for a domain that will ensure that you will have a job in the future. Then learn the language of that domain.
One quick fix is to add a disturbance model to the KF, for example an integating disturbance. But then you have one more tuning parameter (the disturbance model). Which along the other KF tuning parameters increase complexity and becomes more difficult to implement and understand.
Personally, I have had more success with other types of filters, which have a similar structure as the KF, but include mechanisms for improved predictions, for example this one:
https://folk.ntnu.no/skoge/prost/proceedings/ifac2014/media/...