Thanks to help from Sami Finnila and Wesley Chuen we've found an issue with the default MPU6000 accelerometer scaling in some of the recent APM2 boards shipped in the last month or so. You can find the original discussion from Sami here.
Internally we use "DCM" to merge the gyro and accelerometer values together to calculate attitude. With the recent boards we are finding the accelerometer values are 2x as big as they should be which leads to an inaccurate attitude estimate. It's apparently possible to fly with this misconfiguration but it at least makes "the leans" more common (you can recognise "the leans" by your copter requiring more and more manual roll or pitch to keep it level as you fly).
This patched version is being called 2.5.5-Beta and is in the downloads area. After a short testing period (maybe 24h ~ 48h), if all goes well it will be available in the mission planner.
We're still working on the next official release 2.6 so we haven't included any improvements to flight dynamics in this patch except Adam's "Retro" loiter. This uses the ground speed directly from the GPS instead of calculating it using lat/lon position. You can enable this by setting the "RETRO_LOITER" parameter to "1". BTW, it's "retro" because this is the method used in the popular 2.0.49 version of Arducopter.
Feel free to post comments / issues regarding this patch release in the discussion below.
If you have recieved an APM2 in the last month, please try the test shown above:
Next just roll and pitch your board a bit and attach your tlogs below. These logs can be found in your AP Mission Planner's log directory. On a windows machine you will likely find a recently updated file here: C:\Program Files (x86)\APM Planner\logs\YYYY-MM-DD HH-MM-SS.tlog
Thanks for your help.
Thanks for that.
Yes, your bad gyro behaviour is absolutely related. I've seen the same thing on my new APM2 board. I believe the reason is that there's is I term build up on the PID controller that is used to combine the gyros values into the accelerometer. Basically it's caused by the constant error that's appearing because the accelerometer values are so far from the gyro (and we're assuming the accelerometers are correct).
Ok, thanks all for your logs. I think we're good now. Tridge and Craig have checked in a change to trunk today that we think will resolve the problem. I've just tested it and it appears ok so next we will get some real testers to give it a go and then we will push out a patch release (2.5.5).
Here are some logs for boards affected by the issue.
Now that's what I call community work will all tlogs replies!
I just did the test even if my APM2 comes from pre-ordered batch. ... just for my curiosity. Looks good az=+-1000.
Thanks Randy and the Community.
I have the exact same issue, upside down the offset is 3000.
I'm using my APM 2.0 in a plane (arduplane 2.33) anyone can tell me if this defect will affect the dynamic of the flight?
Yes it will affect the flight dynamics. From the feedback I've seen, it's likely not enough to cause a crash but it will have an incorrect attitude information so I'm pretty sure it won't fly waypoints as well.
The ArduPlane patch release will also be pushed soon. Probably before the weekend is over.
Thanks for the quick update Randy.
Please confirm that the APMv2/FlowSensor patch is also NOT in this 2.5.5 release?
What was your reference to the Flow Sensor I though it was working or am I mistaken?
The flow sensor has been relocated on the APMv2, and is currently advertised as "supported in 2.6+". I'm hoping that a patch release will provide this support earlier, if 2.6 is going to be delayed for any reason.
Thanks for your reply, do you know if they are changing where you connect to the APM2 as it's not the easiest place to solder connections to?
All I know is what I see here: