Page 1 of 1
Adaptive PID
Posted: Tue Dec 20, 2011 5:22 pm
by rihardsb
Hello All,
I wonder, could Adaptive PID be implemented into MultiWii project instead of the current Conventional PID values. This would involve to incorporate Artificial Intelligence (some sort of a Neural Network) into digital control to make PID values adaptive in the closed loop. This question would be very relevant to you who are experts in Digital Signal Processing.
Best Regards,
Rihards
Re: Adaptive PID
Posted: Wed Dec 21, 2011 8:51 am
by Noctaro
hey,
i also thougt of using the genetic algortihm to determine the best values. But at the moment i could not find a way for it to be implemented safe. As GA does create random Chromosomes wich will behave anyhow. In flight there are to much conditional things that could lead to a crash if misinterprated by GA. No problem if we are on a flat surface.(Crawling Bot) But in air its dangerous. Further it would need around 2hours or more to produce some useable settings. This flighttime will not be realistic if you dont have a laserbeam for power supply and a solarpanel on your copter.
Within two hours as human we are also able to produce very usable settings.
Howevery, an auto tuning copter would be great

Re: Adaptive PID
Posted: Wed Dec 21, 2011 3:43 pm
by copterrichie
IMO, an expert system would be great for a test bench environment. The numbers or values obtained, then can be used to set the actual PID for flight.
Re: Adaptive PID
Posted: Thu Dec 22, 2011 3:11 pm
by mahowik
Re: Adaptive PID
Posted: Thu Dec 22, 2011 5:43 pm
by rihardsb
There are various algorithms for digital control including Fuzzy Logic and ANN, note that ANN isn't the actual controller. It learns in time for the best constants to feed into PID control algorithm, hence we can start off with the default PID constants.
Adrian A. Hopgood "Intelligent Systems for Engineers and Scientists" p.448
I'll have more time January after Xmas and New Years, so I'll try to embark on this research area!
Regards,
R
Re: Adaptive PID
Posted: Thu Dec 22, 2011 7:20 pm
by Bledi
For beginning why not adding informations to GUI to use the Ziegler-Nichols method to find thé best parameters:
[url]http://en.wikipedia.org/wiki/Ziegler–Nichols_method[/url]