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

Views: 2791

Reply to This

Replies to This Discussion

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?

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 :)

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.


How's this project going ? Is it ready to use yet ? 


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.

RSS

Social Networking

Contests

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.

A list of all T3 contests is here

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service