I just pushed Arducopter 2.2 to the Mission planner. This version went through extensive testing by a brave group of flyers and with both HIL and SIL testing.
See this link for more:
If you run into any problems please let me know here. If you find a reproducible bug, please add it to the issues list.
If you run into Loiter issues, try adjusting LOITER_P. It's 2.0 right now which may or may not be to aggressive for your copter. Nav is no longer used in Loiter control, which should make tuning easier.
If you run into a circling issue, try lowering LOITER_I to 0 and see if it goes away. If not, check your compass declination. A negative error will produce CCW rotations, a positive error CW.
If you have issues with alt hold, try lowering your THROTTLE_P, it may be too high for higher thrust copters.
If you have wobbles and can't seem to get rid of them, there is a new term called STAB_D, which is a derivative term used to tune out the wobbles. You can increase it until they stop, but just like driving a cadillac, you loose some performance and handling. In the CLI "tune 16" in setup will let you control this in flight, and "tune" in test menu will let you see the value printed out interactively before flight. See the wiki for more detail.
Many testers gave me a thumbs up on the code, so if you have an issues please post the flash log from the copter. The tLog isn't that much help to me for debugging as it doesn't capture the needed values at high enough rates.
(Remember, if you'd rather pull the code from the repository and load it with Arduino, you must use the "relaxpatch" version of Arduino in our downloads section.)
I believe I found the simple mode error. It was a bug that was working OK until Tridge fixed it so it was declared properly. Then the bug became active. I made the Simple mode function internal variables static and this should fix it hopefully.
I updated alt hold to not use dampener for now until we get more testing. Some folks saw a latency induced oscillation which was pumped up by the D term.
I added the automatic throttle cruise or hold value as a compile time option for testers. This basically looks at your throttle and climb rate while in stabilize or acro and determines your optimal hover value. This means you can enter any autopilot mode and not have to worry about your throttle position. It should make alt hold more reliable if it works. This is off by default until we get good field tests back.
Update pushed to GIT.
Just some refinements. I added JLN's throttle curve mod for landing. Hopefully that's correctly implemented.
Made the landing delay from RTL user settable
removed the ADC gyro filter, I was doing a lot of testing and determined it wasn't worth it.
Enabled the auto-throttle control by default. Please test in the sim
Altitude no longer resets when flying in Loiter mode
Pitch and roll dampening is smoother now. try values up to .08 for very dampened flight.
Mavlink can now trigger auto-land
I'll push a hex when I hear some good news from HIL testers.
OK, 2.2b6 is on GIT. The Mission planner is going to be out of sync until the release code. until then you can use the APM_Config.h or the parameters list in the Mission planner.
STAB_D : This is the gyro accretion dampener. This can remove small wobbles during sharp changes in angle commands. Making this too high can have a negative effect in performance and add a memory effect that can cause temporary loss in control. The in flight tuning is ranged so you are just below that effect.
If you haven't noticed before the control loops are in two stages. The first is a PI stage that converts some sort of position or angle error into a desired rate. These generally do not need to be tuned. They are more of a user preference on how fast you want the copter to perform a motion.
The second stage is the actual PID loop that needs to be tuned for the copter. This converts the desired rate into a motor command of some sort. I added a D term based on Igor's recommendation to the PI's for each rate controller. These should show up soon in the mission planner for the release. I cannot give you a concrete answer for how to tune the D terms, because they each depend on their function such as alt hold or loiter, etc.
Still, the absolute most important term is always the Rate_P term for each loop. Start tuning here.
The default PIDs are in the what flies great for a stock jDrones/3DR Quad with the purple motors in X mode.
Marco: Unfortunately, we can't close the Git repository and still be an open source project. It's fundamental the open source philosophy that all development must be done in public. We can't stop people from flying development code, but we can warn them of the risks involved.
Im confused, if you did have throttle control, why didnt you kill the throttle before it shot up 30m?
I was just going to ask that!
Whether or not there was a bug in the code (and I suspect not), why didn't you realize you'd lost control, and cut power? If there was an accident, that would be the first question that would be asked. You are the pilot in control. If you were trying to "save" your quad instead of minimize damage to other people/things, it would come back to you.
I crashed my heli because of the I2C bug, and I as it was coming down, I cut power to minimize damage.
I understand that the instinct to save your craft can be strong. But sometimes you have to understand that you've lost it, and cutting power will minimize damage to the craft, and other people.
Probably a silly question, but could you have entered simple mode, without noticing?
I read recently in the FW release thread about simple mode not working as supposed to.
And even if it does, entering it without noticing might confuse the pilot a lot...
Just thinking loud...
'Simple' was fixed in 2.2b2, so that shouldn't have been the problem.
@Johann, To clarify when the copter started climbing did you have control of the throttle or not?
Did the copter still climb regardless of throttle position?
to Jason and the dev team:
I've got a fully built hex waiting to be flown. Problem is I don't have trustworthy software to fly it.
It seems that I keep waiting for stable software to be released. But instead the only releases I see are alpha and beta's with added new features which I really don't need.
Would it be possible to release a version (like the 2.0.49 but with the essential things reworked like I2C libraries and stuff) which only had the basic features (like alt hold, loiter and rtl) and which works perfectly without bugs.
Like that people like me could actually fly until a better stable version comes along.
I really don't feel like waiting forever for a stable version or actually trying a non stable version which could end up in injuries or damage.
I agree, to us it seems that new features are being added before time is spent getting all the vital ones 100%.
One big thing about open source DIY stuff is to manage one's hardware&soft by himself.
I Agree it's really frustrating to be always waiting for a definitiv release, but the point of open project is to always be evolving. Sometimes 2 steps forwards and on step backward.
So you can always install the 2.0.49, tune it for your copter and fly with it as long as you don't need a new feature.
And once in a while try a new version. But keep in mind that every new release might need new tuning, so no need to keep following all alpha release.
I agree on what you're saying, I understand that ArduCopter is a DIY project.
And if I had the ability to program and improve the software myself, I would even contribute to the community. Unfortunately I don't have the knowledge to do that.
But I do think that things could be handled a little different when it comes down to the development and releasing software.
Taking it step by step and releasing stable software now and then would be a big improvement.
Really, I don't want to hassle Jason and the dev team. Actually it's the opposite, I appreciate their work.
I just wanted to express my opinion about how software is released. And a lot of other people feel the same way I do...
Glad to the only one not happy with the current stand of things , YES DJI is expensive and they only have RTL one waypoint and stabilize but it works! and thats way people pay that money . I think a version where DIY DEV can garentee RTL. stabilize and alt hold works fine will be great. hope fellow followers agree . at this point the KK boards I fly is more reliable! and thats at $40