Jason is travelling this week, so I'll take the helm for the next software release post.
UPDATE: the motor remapping thing was confusing everyone, so we took that out and returned to the regular motor mapping. That means that APM 2 users with Hexas and Octos should wait for the next version. APM 1 users should be fine with any frame.
NOTE: Hexa and Octo users: there have been motor mapping changes that may affect you. Please don't upgrade until we can update the documentation to reflect the changes. This should happen by the end of the day today (Feb 1).
ArduCopter 2.3 is now available in the Mission Planner. This is the next revision of the ArduCopter 2.2B6 code, which is perhaps the most tested code we've ever released (1288 comments in the thread!) and certainly in my experience the best code, too.
The default PIDs are optimized for a 3DR/Jdrones quad with 850 motors and 10" props. If you're using more powerful motors/props, start by turning down Rate Roll P (default is 0.14, so start by turning it down to 0.1. In general tune PIDs in 25% steps).
Now that we've got solid code out there, we can turn to collecting suggested gains for standard frames, and a better guide to how to tune PIDs for your unique setups.
Here are Jason's note on the latest changes (mostly from 2.2B6)
A dampening term called STAB_D has been refined. A D term for all of the Rate based control loops has been added based on Igor's work. Landing for Baro and Sonar has been refined based on JLN's work. A slightly new approach to Loiter and Navigation is being used to try and linearize the pitch and roll for rate control. It tends to use lower gains, yet has a more assertive response in the air.
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.
Note the Mission Planner does not yet highlight these D terms on the main tuning page (it will soon), but you can find them and modify them on in the Parameters list.
Autolanding should now work well (see video above) and the Tri servo issue is now resolved.
The code should now compile with Arduino 1.0 (thank, Randy!), but remember that you need to use the "relaxpatch" version of Arduino in our downloads section.
[Update: we've reverted the below. See update at the top of the post]
Important for Octo users:
We've changed some of the motor orders for some more exotic airframes. We'll be updating the docs on the Wiki in a day or two to reflect this. Pat Hickey explains:
As before, the hexa plus APM2 motor setup has changed from the ordering [1, 2, 3, 4, 5, 6] to [ 5, 6, 1, 2, 3, 4 ].
The Octa V layout for APM2 is:6 42 58 13 7Motors 1 through 4 spin clockwise, and 5 through 8 spin counterclockwise.
If you use the parallel esc in the same arm your real configuration is "X Quad" (or + Quad), in this case the motors test spin at the same time the two motors in the arm, it's logical.
Ehm, why you don't use a real X8 configuration?
In this way you may vary the ratio between the upper and lower motors with the parameter "TB_RATIO" in the planner, or using the tuning with ch6 in flight.
In coax configurations the upper motor should run more slowly than the lower ones, or have smaller pitch propeller above and turning faster.
The ideal would be to have propellers with the same size but with different pitch, for example 12x4.5 above and 12x6 below, and of course with different rpm.
The new code has already integrated the configuration X8 with this provision, that I am using, Max Levine did a great job:
In issuing the new code I think the weekend, if it outperforms our tests, will be released.
All the team works hard to provide something truly stable, there are many new things and i hope my motors test (LOL), separate parameters for the Loiter, autolanding on/off, Acro P (thanks Jason), AP slew rate and more.
We pushed a lot with Chris for a release "secure" without haste.
Here you can see the tremendous work during construction:
I am certain that your wait will be rewarded, i trust in an epic release!
Publicly thank the whole team, not mention anyone because I would not forget someone!
Thank you all for the great efforts...sounds like this is going an amazing release!! Can't wait to test :)
Firts of all I wanted to eliminate a HW issue so I disconnected everything, loaded v49 again and tested each motor. First directly connected and then through APM. No issues what so ever!!!!
Even flew in my garage and also no probs and very stable.
Then reloaded 2.3 and twitching was again present.
Started to retune rate P. No results. I can see that changing this value has influence on the quad.
Changed stab P and also no results.
Then restarted tuning all over with all the values at 0.
And guess what ....... twitches.
Its certainly a SW problem because v49 flies perfect in stab.
I just bought the new tigermotors and would be very dissapointed that this combination with the plush ESC's and v2.3 could be the problem!!!
Thank you, I was thinking about that, clarify doubts
Thank you for your prompt and accurate response.
Hi Vincent, I too had the twitches with a x525 frame but don't have them with a BeeDrones alum frame. Tryied in 2.2xp1PIDT1 and 2.3, so I think there's some kind of relation between the vibrations (X525 vibrates a lot more than Bee) and the D term, but this is just a theory, since due to weather conditions, latelly I haven't managed to make great flights.
With v49 I don't see any twitches but with 2.3 I do and both with the same frame.
What I also noticed is that the motors tend to click much more with 2.3.
Maby it has something todo with the ESC's frequency.
If I was 110% sure its the combination of ESC and motors I would buy new ESC's. But at the moment I'm a little bit fed up with the amount of time and money I allready put in arducopter.
At least my fly experience gained a lot resulting in less orders for props ;-)
Will the twitching be sorted out?
Twitching could be the result of the D gain. Even if you have the gain set to zero it may not be processed as a zero value according to a bug that was identified in 2.3. The new release (2.3.1) should not have that issue.
I really hope it will be resolved in the new version!!!!
It will be.