Hey, I had a little brainstorm last night after watching the DJI Wookong video. It's a sweet little system, but I wondered if AC2 could do that? So I put a battery on the end of one arm and it couldn't hold level. It came close but 3-4° error meant that it couldn't fly perfectly still. So during the ride in to work I thought of a way to rework the controller so it replicates my hand on the stick rather the the PI>PI rate controller we have now.
I've never been happy with the Outer I term. It never really seemed to be very effective. I started thinking that my hand is putting a constant bias to the stick to get the perfect stability, so I could easily replicate that with the outer loop's I-term. I re-routed the Integral to directly sum with the rate controller output. I flew it tonight and it does work. I can hold perfectly level with a 22003S battery dangling from the arm. I think this is exactly what is needed for better Hexa/Octa redundancy.
Enclosed is the patch that works with 2.0.54. Just replace attitude.pde with the linked file. Then set your STB_PIT_I and STB_RLL_I to .1, and your limit to something high like 30° or 40°
Let me know how it goes for you and please let me know how you might improve it.
I installed 2.0.55 on my copter, downloads section says that it have stability patch already applied. But when i try to fly my quad-copter with small digital camera not in center it begin to drift to camera's side a lot.
Seems like it don't try to compensate this imbalance at all. Why it happens? Do 2.0.55 already have stability patch applied?
One of the features of the DJI wookong M is that it has great stability but only in calm conditions. If your model has a fairly large distance between the motors then the problem gets worse. MK seem to be slightly ahead in that situation. I am looking fwd to trying 2.0.55 to see how it compares. I remember that .42 was good on a large model.