I did some research and implemented a self learning PID algorithm. It is located in my cloned repo http://code.google.com/r/litho23-ardupilot/. I really like how it turned out. I hope you all are able to use it with success i'm lacking hardware right now to do further testing.
For those looking at the repo it is in the libraries/PID/ location.
I couldn't figure out how to add a parameter to the EEPROM memory so it is 95% implemented.
Tags: PID
Permalink Reply by Matt Landowski on April 14, 2012 at 4:15pm At least it was doing something. Thanks for trying it. I tried something similar and it went nuts for awhile, but after a long simulated test flight it seemed to stabilize. Or it was all in my head. I'm trying to think of a better way to test the 'goodness' of this method. Perhaps it is just too slow to for our application. I'll try running it in MATLAB /Simulink with a 50Hz rate and see how it does.

Matt: I think its a worthwhile effort. PID tuning is a pain in the ass for everyone, so if we could have a functional adaptive PID system it would make things a bit easier. Right now I am working on an offline auto PID tuning solution (among other things like auto approach). I think it would be way sexier to have an adaptive PID controller, but it boils down to what works best in the end. I hope you find a way to get it working!

What I just said doesn't make sense.. disregard :-)

Out of curiosity, were you able to use the SITL in the cloud?
Permalink Reply by Matt Landowski on April 12, 2012 at 10:42am I figure out how the SITL stuff works I just haven't gotten around to playing with a ArduCopter version of my code yet. Stay tuned :)
Permalink Reply by Matt Landowski on April 15, 2012 at 7:23pm These are the results from my MATLAB / SIMULINK test. I used a simple transfer function of 1/s+10 with a step input. I did have to add a rate limiter to the derivative because it was exploding when it first got hit with a step.
I haven't added a rate limiter to the code, but i'm going to. I also need to find a way to monitor values inside my SLPID while i'm doing HIL or SITL tests.
Permalink Reply by Jerry Normandin on June 15, 2012 at 12:10pm How's this project going ? Is it ready to use yet ?

Permalink Reply by Steve on May 11, 2012 at 1:05pm
Matt how are u grabbing the individual PID gain values? I thought the SLPID controller sums it all up into a single plot?
I have integrated the SLPID model with a UAV's state space matrix. So far, it isn't working. The SLPID isn't able to stabilize the responses of the MIMO system. it does wonders on a SISO transfer function... but that's it.
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.15 members
721 members
203 members
1356 members
5 members
© 2013 Created by Chris Anderson.
Powered by
