I'm currently in the process of programming a quadcopter flight controller using existing code (multi wii etc) and adding my own in, for my own purposes. I know its very hard some would even say ridiculous but really enjoy the challenge and am learning a lot from it so much prefer to program it myself. I've achieved orientation sensing and writing communication protocols and have begun stabilisation using the tried and tested PID method. My question is more to do with implementation. I've seen some code use two separate PID'S on each axis one for the rate and one for absolute stabilisation and others only use one directly controlling the motors. I first tried with one and achieved moderate success on testing but still had minor oscillation so tried the dual method which i am currently in progress with. I wondered if anyone could explain the advantages/dis advantages to each method as i don't know whether to re visit the mono method and retry tuning to achieve better results or whether dual is the way to go ?
I haven't attached any code as this is more about implementation than anything else.
Thanks for your time Olly