I've just released ArduPlane 2.73 as a bug fix release for several important bugs in 2.72
The main reasons for this release are:
This release does not contain the new attitude controllers that I previously said would be in 2.73. Paul and I decided that it would be better to hold those over to the next release, and get this release out with just the above critical bug fixes.
The airspeed problem stemmed from a changed introduced in 2.72 to make ArduPlane automatically scale analog inputs with board voltage. That change was good for voltage and current sensing, but it added a lot of noise to airspeed sensing as the 3DR airspeed sensor is ratiometric (the sensor output scales with the supply voltage). The fix was to add support for ratiometric analog inputs. This release also fixes a bug in the airspeed ratio handling. To confirm the fix I have been driving around in my car with an APM2 and PX4 logging airspeed and GPS speed - that test confirmed the airspeed sensing is now accurate.
The flyaway bug in L1 was caused by an unusual situation where the previous waypoint was equal to the next waypoint, which can happen when a mission is interrupted and restarted. The L1 controller would then level the wings and fly straight ahead until the operator intervened. The bug fix was to make the L1 controller detect this situation and track directly to the next waypoint. I don't think many users would have seen this bug, but it definitely could happen and warranted a bug fix release.
The GPS handling bug was related to the MTK GPS, which can be very slow to report loss of GPS lock, which could lead to very poor attitude from DCM and even a crash if the plane tries to turn while the GPS is reporting incorrect velocity information. The fix was to watch the satellite count, and stop using the GPS velocity for accelerometer correction when it had less than 6 satellites. This is selectable with the new AHRS_GPS_MINSATS option.
While this release doesn't have the new attitude controllers I decided to leave in some other smaller changes that have been made since the 2.72 release that I consider to be low risk, including:
Of these, perhaps the most useful is the ELEVON_OUTPUT option. That makes it possible to setup your transmitter with normal aileron/elevator and get the APM to do a software elevon mixer on output. That gives better control in FBWA mode than the previous elevon options.
I recommend that all users of 2.72 upgrade to 2.73. Happy flying!
Tridge, did u fly with this ?
Hello, I cant get my elevons to move up and down more than a couple mm's, where do I adjust that?
Wow that is just great :)
I will try it on my fling wing as soon as I can!
Which parameters are for the gain of the ACRO controller?
I just found angular speed parameters ACRO_ROLL_RATE and ACRO_PITCH_RATE
Or is it like the potentiometers of KK-boards, one value for each axis?
The ACRO_PITCH_RATE and ACRO_ROLL_RATE control the rotation rate interpretation of the stick movement. The gains for the roll/pitch servo movement to achieve those rates are the standard ones for stabilized flight, ie. RLL2SRV_* and PTCH2SRV_*. The reason this works is that the new attitude controllers are actually rate controllers underneath, with a thin wrapper for attitude control. I just exposed the underlying rate controllers and hooked them into the ACRO mode.
I did a flight today with my PA AddictionX and ACRO mode. It certainly worked, although it did expose a bug in the handling of the deadzone for attitude lock. I've now pushed a fix for that. I'll fly it again on the weekend and see if it is any better.
yes, I've been doing flights throughout the development of 2.74. I did another couple of flights today, and found a minor bug in the new ACRO mode which I've fixed. I also found a bug that can cause drift in the hold altitude in FBWB. I pushed a fix for that one this evening.
I would appreciate if a few more people gave some test reports on 2.74 though. I'll do more flights this weekend, but I'd prefer to have other testers as well.
Plane leveling in 2.74 is manual or automatic?
You need to level the plane manually once, and the level is saved to EEPROM. There is no longer the option to have it re-level on each boot. That caused too many problems.
Is it normal for the amp to register a altitude of several hundred feet on every start up? I re-set to zero each time but was wondering if I missed a setting so that it would do this automatically on start up just as it sets RTL each time. Or... if not perhaps there is a valid reason for it not to do this? Thank you!
Please could someone clarify the ARSP2PTCH_P and ALT2PTCH_P parameters, what they do and their effect on level flight?
On another note: today I tried "takeoff", I loaded a mission which consisted of "1).Takeoff @ 20° to 50m 2). loiter @ 50m AGL unlimited", the first time worked great, the motor started as soon as I hit AUTO but the climb out was not very steep but no problem, I landed and tried again. The second time the motor wouldn't start and even clicking 'Restart Mission' would not get the mission to run again. Is there something I'm missing?
After a few more flights on my AddictionX today in ACRO I did some work with Paul on the ACRO controller, and it should be a lot nicer to use now. We've removed the problem with euler angles on roll, which makes acro loops much smoother.
I've put this in a new 2.74beta4 release, along with a new CRUISE flight mode for FPV flyers.
No airspeed sensor, plane is not underpowered nor heavy but not too worried about the angle, I'll put it at 25° or more if needed, just would prefer to be able to do multiple takeoff's if required.
I was also under the impression (but I may have seen this with older code) that the motor would only start when the groundspeed reached a certain threshold?
I will check tomorrow but I suspect a reboot will allow the initial takeoff to work again.
Edit: I see there are two parameters added since v2.71 which are TKOFF_THR_MINACC and TKOFF_THR_MINSPD controlling throttle during launch.