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.
Hello Jason and all,
I have just done some tests flights of my QRO with your firmware v2.0.54 and your latest stability patch and it seems working well. I have done only some indoor tests flights due to the bad weather outdoor, all seems OK... Below my setup parameters previously tested successfully with the v2.0.51 in LOITER and ALT_HOLD mode (see the video).
Well, I don't understand anymore. My hexa has suicidal tendencies. It keeps crashing. 4 props dead. 1 landing gear. I must say I'm starting to give up. Don't know why it does it.
Well, I will try again.
to me not compile with ATMEGA 1280. Binary sketch size: 128,348 bytes (126,976 bytes of the maximum)
Grab the latest ZIP, I had to disable a few Tests in the CLI to get it to compile. In the next release, the internal Logging will be disabled by default for 1280 to avoid this and keep 1280 boards an option. You will also most likely need to compile it with Arduino as well in the future for that board.
You may try to compile with CLI_ENABLED == DISABLED
you will get a lighter code and save memory... May be you will be able to compile with the ATMEGA 1280...
Good luck, Jean-Louis
you must decribe more
Nicolas, if I were you, I would start by checking your sensors and IMU. See if they output valid values first in static position with motors off, and then with motors on (vibrations may affect your imu)
When you are sure that your sensors work, start adjusting your control loops.
This flipping happened only with the patch. Didn't happened before. I will check my sensors, but I will retry with the standard 2.0.54 version and see what happens.
Thanks for the tips.
This is a very exciting enhancement. Thank you sincerely for your hard work.
I have just done a quick tests flight outdoor bewteen the rain and in spite of the windy and gusty weather (25 to 30 km/h...) the firwmare 2.0.54 (with the latest Jason attitude.pde patch) is really stable as a rock in air... Woow... good work Jason.
In attached my tested setup file.
Any idea when this will make it into a release?
APM2 has made us temporarily fork the code, but next week we should be able bring it back to a single branch.