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!
Has anyone been able to get the new ELEVON_OUTPUT mode to work? I tried this by setting my transmitter to normal aileron/elevator output and when I move the sticks on the controller the surfaces move the correct direction but in autopilot mode the surfaces do not move the correct direction. I can't figure out why it is only half working like this.
I'd suggest you look at the docs on how to setup ELEVON_OUTPUT. Hopefully that will explain things!
Note that MIXING_GAIN isn't in 2.73, but it is in the current beta. I'm planning on doing a 2.74 release soon with that feature.
@sergey, i had the exactly same problem with my skywalker which otherwise would fly fine in any auto modes in all the prior releases of arduplane. in my case what i found was that the tailplane had come loose which is held down by two M3x25 screws. so when u put it in RTL the elevator tries to pitch the plane up slightly and a s a result the tailplane's angle of attack increases (since it was loose). this causes the plane to nose dive. my problem was solved when i tightened the two tail plane screws. but it took me a long............ time to find the cause. this time u put blue color thread lock on the tailplane screws.
I was wondering if the ACRO mode will be available for the arduplane too?
A plane stabilized without leveling would be great for normal flying (especially for FPV)
I had a KK-Board with openaero in my plane before an I loved the gyro stabilization. The plane flew like it was on rails.
Adding a KK board in series to the APM would be just stupid ;) So what do you think?
Yes this is my idea too
I flew the open aero KK2.0 too and it did a much better job in stabilising the plane then the APM does.
This is because the openaero software uses rate of change to compensate for instability instead of an absolute offset like the APM does
Now the modes stabilise and FBWA feel very much the same.
If we get a stabilise mode that is similar to the way openaero stabilises the plane it would be very good flying FPV with the APM.
Hi Pieter and Thomas,
I would like to add a rate stabilized mode - I'd probably call it ACRO mode as that is what APM:Copter calls a similar mode.
I've just had a look through the OpenAero2 code - it's a nice bit of work! A bit simpler than the APM:Plane code, and well commented.
One thing I'd like to work out is if we should have completely separate tuning values for ACRO, or if we can reasonably combine them with the attitude controller settings.
One thing I found interesting in the OpenAero2 code is that it looks like you can choose to use rate hold or attitude hold separately for each axis. Is that something you found useful, or do you just tend to fly with rate hold on all 3 axes?
Yes, with the openaero2 (KK2 Board) it is possible to switch between rate and attitude (attitude is called self leveling). With the openaero SW (KK board hast no acc sensors) it is only possible to use rate stabilisation. I was using only the rate stabilisation when flying with openaero and it was all I need (except for RTL) Attitude stabilisation feels very weird and is only usable for flying straight IMO.
Are you planing to implement this feature? :)
Hi Thomas and Pieter,
I've now added an ACRO mode to APM:Plane. It is a hybrid rate controller with attitude lock. I'll post a full explanation on the flight modes page soon. I've found it quite fun to fly in the simulator, and I'll try it out on my PA AddictionX this weekend.
I'm sure that ACRO mode will develop over time, and may change in its characteristics quite a lot, but I wanted to get the basic mode in to get feedback, especially from people who have flown similar modes in other controllers. Please give it a fly and let me know what you think.
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.
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.
I have tried the ACRO mode on my vacation last week. Unfortunately I can not tell anything about the new mode because it did not start.
The funny thing was that the plane did a RTH when I switched to ACRO. But in the mission planer the switch position was set to ACRO...weird!
Maybe I have done something wrong, I will try it again at the next weekend