I'm delighted to announce the release of ArduPlane 2.50 for your flying pleasure. This release has a lot of advances to some of the core ArduPlane code, and should be a big improvement for many people.
Perhaps the most important change in this release is the new DCM code that does acceleration correction based on the GPS. This improvement is based on work by Bill Premerlani which really advances the state of the art for attitude estimation on small microcontroller based autopilots. The improvement in attitude estimation is very noticable in flight, resulting in significantly more accurate control. Many thanks to Bill for his patience in working with Jon Challinger and myself to bring this improvement to ArduPlane.
Other significant improvements include:
There is one change in this release which may require some re-tuning. We were using the wrong value for time delta when using the PID controller for navigation roll. This has been fixed by making the PID library calculate the delta time internally, but it means that existing HDG2RLL_I and HDG2RLL_D values will be incorrect. I have fixed the defaults, but if you have your own settings for these, you will need to drop HDG2RLL_I by a factor of 5, and raise HDG2RLL_D by a factor of 5 to get the same result as for the previous release.
Thanks to everyone who has contributed to this release!
For the next release the plan is to concentrate on improved stabilisation and navigation controllers, based on the great work being done by Jon Challinger.
Uhhh.. IMHO "increase X by a factor of 5" usually refers to a multiplication by 5, whereas "decrease X by a factor of 5" usually refers to a division by 5. No addition or subtraction! Not sure I understand your line of thought, Spag.
I would also be interested if these changes _only_ affect HDG2RLL (and not for example those RLL2SERV ones). Should maybe have a look at the git diffs but maybe Andrew could confirm quickly?
I've noticed a new option in advanced params--AHRS_GPS_GAIN. The description text in the Mission Planner says this is used to determine how much of the GPS is used to control the plane's attitude.
Since upgrading to 2.5 this morning, I've been watching my HSI in the mission planner slowly wander all over the place. The plane itself hasn't moved; it's sitting in a rack on the table. Yet the HSI says the plane is rolled 90 degrees left and pitched 50 degrees up. Ha--and during the time I've typed this out, now I'm -35 degrees (and diving).
2.4 held solid and true wherever it was placed. Is this new behavior expected and ok? i was excited to try out the cool new stuff Trige described above, but this HSI business and having to wait 20 minutes for 3D lock gives me great apprehension to test it on the wing!
Any thoughts on this, folks? I downgraded back to 2.4 right away and normal behavior was restored.
Doesn't anyone else's HSI float around aimlessly while the plane is stationary? I'd love the benefit of good new ides in the code, but the floating horizon thing has me a bit reluctant to proceed :(
Do you have a tlog showing this behaviour?
Sure do! I'll send you the tlog in a private message :)
-be sure you did not move the aircraft while booting (while it was calibrating)
HSI? If you've got a HSI in MP then you're doing something really wrong. Try reinstalling.
same problem here but during flight it does the job but at the ground hmmm it is a strange behavior...
Can you try erasing your EEPROM (CLI: Setup/Erase) and going through the config process again?
I definitely don't move it on boot (at least on the bench), with the way I have it powered. Andi, hearing that the lazy floating horizon is also happening to you but still flies well is very reassuring. At one point to hold the plane to what it thought was level, I'd have had to bank 90 degrees right and pitch down a bit!
Chris, I'll definitely blast the EEPROM on my next attempt to push 2.5 up.
Yes I know however I think my room is the problem which influences the sensors.. I'm not sure but I have to check this behavior with the 2.4 version.
This did it, Chris--bullseye for you :)