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.
Yes, when we post it to the MP we'll announce all changes. The main difference in tuning is that stabalize and acro and nav have different gains, so you can fly "soft" in stabilize (very stable) and still have tight navigation/loiter performance.
Ive been away all week so just catching up before heading off again tomorrow to Middle East. Is 2.3.1 out yet? Also is there anyway to look at params on the MP without the APM connected ? This would be useful while sitting on a plane to play with on long trips (instead of boring work of course)
Just pulled the GIT version and loaded 2.4
Only to do some handtests and see if the twitches are gone.
I don't no if its my setup or the SW but my quad wants to random fly in different directions. No oscillations.
Using default PID and those that Marco provided.
Is the GIT version fyable??
Yes, I have just ended a test flight and it was supperb, I used Marco's PIDs and just tuned RATE R and P to 135 and it's flying marvelous without touching anything else, and no twitches whatsoever. I believe this params to be more tolerant. Nice job (attention this is not the final release, it may have some bugs to clear out, fly it by your own risk).
Sorry the official release pace is not as fast as you may want.
There are a lot of changes going on in the code with many collaborators, so we need to be cautious before publishing a release.
Many Helicopters, Planes and Quads will attempt a test flight, If a param. or variable, that is not set correctly, or was changed for testing and not retuned to default, may cause a crash or uncontrolled flight condition.
With the memory saving changes lately it is likely there may be unknown bugs, some have been found, but there may be more.
If you feel comfortable knowing above and accept the risk. Then load latest version and go for it, chances are all will be fine, but.
I just would not want to be the first flight, especially with a $1500 - $3000 Helicopter or production camera setup.
Small test steps will help from falling out of the sky.
After a good 90 minute Skype discussion this morning with Randy, Malcolm Chum, and Robert Lefebvre the consensus is, it is safe to begin test fights with 2.4 for Helicopters !
Please report any weirdness you can't explain. it may be due setup or failed hardware, but that may be hard to detect. If it worked before and all was well, that will usually point to a software issue, repeatability is helpful finding bugs.
Good luck flying & happy bug hunting...
It's flyable, just flown mine after having pulled 2.4 off git too. However, found that my soft foam mounts for the APM board were too soft, it was all over the place but when I cable-tied APM down things were a lot better. The twitches that I had seem gone but it's not quite as stable as I'd like but that's probably just tuning. So far so good, I've just redone the mounts and will have another short flight (it's just got dark out)
Sorry to be negative but I can't even lift off. Git and zip. As soon as I give enough thrust it start randomly flying in one direction. Very unstable. Using default PIDs and also Marco's
2.3 was flyable but had the twitches? Just to make sure I reloaded V49 and all flies well.
What the hell is going on here. For me each version is getting worse!!!
I'm just about to order a complete board from Udrones. I'm confused about the versions now.
It comes with V1.4. Am I gonna be OK with a Hex with that version?
Advice greatly appreciated.
I'm building a custom hex.
Yes, that's fine.
Vincent: erase all your eeprom setting and use the defaults. They've changed and you can't use the old ones.
Did it sveral times in CLI with reset command and erase. No succes.
Building a second platform with different motors.
Sorry Guys, its getting depressing minute by minute.
Just made a new test platform with other motors and same type ESC's. Same result. Can't even lift off. Broke a prop in the process.
I even tried a second transmitter I have from a friend. Same issue.
Now I have two totally different quads with nothing in common but the SW.
Did I miss something? Do I need the PPM upgrade for the APM's???
Don't really know anymore.
Please advice ..........