I'm delighted to announce the release of ArduPlane 2.72 for your flying pleasure.
The big news in this release is the addition of the new L1 navigation controller. The work on the L1 controller library was started by Brandon Jones, and his initial github pull request is a great please to look to understand the new code. As is so often the case with ArduPlane, the documentation still hasn't caught up with the code (though I hope it soon will!).
After Brandon’s initial work Paul Riseborough did a lot of work to add more robustness to the algorithm. The base L1 algorithm suffered from from instability in "path capture", which is how it handles navigation when you are a long way off course (for example, when you enter auto after having flown manually). Paul made some fantastic improvements which have been extensively flight tested by Brandon, Paul, Jon and myself.
I did a final test flight of it this morning in a Bixler2, and it flew very nicely. I found a setting of NAVL1_PERIOD=20 suited the Bixler2 very well. It produced great path tracking, and very nice circles in loiter, despite high wind.
Paul is not finished yet though! He's been working on re-working the APM_Control library started by Jon Challinger, and is getting fantastic results with roll and pitch control, greatly reducing the altitude loss in turns. That isn't in the 2.72 release though as I want to do a bit more testing and tweaking of the code, but I expect to get Paul’s new controllers in the next release.
Before I go into detail on how to tune the new L1 controller, I better list some of the other changes in this release:
- avoid doing auto radio trim if the resulting trim leaves less than 20% of travel between the trim value and the MAX and MIN for the aileron, elevator or rudder. This prevents auto-trim leaving you with very bad trim if you do it while your transmitter is off
- removed HIL_MODE_ATTITUDE, we always now use SENSORS HIL, which is much more accurate, and is needed for correct operation of the L1 controller
- added new LEVEL_ROLL_LIMIT parameter. This replaces both the TKOFF_HEAD_HOLD and RUDDER_STEER options, and instead allows you to specify a roll limit in degrees for auto land and takeoff. The default is 5 degrees, which should be small enough to prevent wings scraping on the runway in most planes.
- Removed the AHRS_BARO_USE option, as it caused trouble for too many users
- allow the WP_LOITER_RAD loiter radius to be set negative to mean that a counter clockwise loiter should be performed by default
- fixed the handling of the LOITER_TURNS and LOITER_TIME commands
- added new dataflash logging system, with self-describing logging format. See notes below for more info.
- on auto-takeoff, if we have an airspeed sensor then keep throttle suppressed until we have both 5m/s ground speed and 5m/s airspeed
- added support for 12 output PWM channels on PX4
- enable relay in camera library for all APM boards (thanks to SSzilard)
- cleanup use of const in libraries (thanks to Tobias)
- lowered default AHRS roll-pitch correction gains from 0.4 to 0.3
- changed AHRS to lower roll-pitch gains by another 50% when a high X acceleration is detected for a catapult launch, to prevent nose down on fast launch due to GPS velocity lag
- fixed RC throttle failsafe handling on PX4
- fixed a bug in returning airspeed estimate from DCM if an airspeed sensor is available (thanks to Jon Challinger for finding this important bug)
As you can see, the dev team has been busy!
A few special notes about the DataFlash logging changes. This is the first release to support 'dataflash' logging on the PX4, and it implements it by writing binary log files to the SD card in an APM/logs sub-directory. Those log files are self-describing, which means the format of the logs is contained in the headers of the log. This makes it possible to add new log messages without having to change MissionPlanner. It also means you can now get logs into MissionPlanner by pulling the SD card out of the PX4 and plugging them into your PC, which is much faster than using the CLI. The new log format is also used for APM1 and APM2, which will mean we no longer have to align the version of MissionPlanner with the ArduPlane log version when analyzing dataflash logs.
Now on to the main thing in this release - the new L1 navigation controller.
The new controller makes a huge difference to navigation in ArduPlane in the following ways:
- tuning is now much simpler - the only navigation parameter you really have to change is NAVL1_PERIOD
- much better path tracking, even in high wind
- loiter now produces a very nice circle even in high wind
- much less servo flapping! If you tried to tune the old controller for very good path tracking it would end up changing servo position very rapidly, wearing out the servos and drawing more current than it should. The new controller has much smoother servo movement.
The default NAVL1_PERIOD is 25, which should give quite gentle navigation on most airframes. A smaller number means more aggressive navigation (tighter turns). Adjust it by around 5 at a time until you are happy with the performance. Most small RC planes will need a value of between 15 and 20. I need a value of 15 on my Phoenix Tiger60 low wing nitro sports plane, and 20 for my Bixler2. The default is 25 to ensure that we get gentle navigation by default - if the value is too small the plane can snake rapidly, and roll too rapidly, possibly leading to a stall if the aircraft is heavily loaded.
I hope you all enjoy flying this release as much as I do. Happy flying!
Hi to all , i want to ask . When i connect the APM 2.5 with usb cable (only) , the mode after ARM situation is AUTO . Is Normal that ?
Why I never see people fly aribus-like frames? or something similar?
Folks yesterday I tested the Arduplane 2.72 released.
We have tested in two plane.
The first one is a HK EPP_FPV_1_8M_X_Large_EPP. With 2.5 board.
It was a day with no wind I flew perfect very stable, very mice roll.
In auto mode it flew very well also
The only issue that I have found was during a Failsafe test. I was flying in stable mode and turn off the radio so it switched from stable to Cycle as soon as I turn off the radio but the plane did not start a circle fly it was continuous flying in the same direction as it was flying before.
In about 20 sec. it switched to RTL mode it rolled and came back… fortunately. Those were the 20 secs longest of my life :-)
I landed and try to reduce those seconds but I was not able to do, in APM version 1.2.50 the option to change the second did not exist, also I checked the box of 1 sec and it was still switched from cycle to RTL mode in 20 sec.
So my questions are:
1) Why did the plane fly straight instead of EPP_FPV_1_8M_X_Large_EPPa cycle during the cycle mode?
2) Where should I change( reduce or increase) the time to switch from cycle to RTL mode during a Failsafe event.
Second Test: were done with 2.0 board in a bixler.
Here we have had some problem to set up the stable fly mode and RTL mode. In the stable mode when we roll the plane it roll in a very aggressive way putting the nose down, in manual mode it flew with no problem.
In RTL mode it start to flew in circle around a point but in very close circle without coming back..
About this test I would like to re-install the 2.72 release again and test it because I am afraid that somebody could probably did something wrong.
Question that I have:
1)In case that I would like to install in the 2.0 board the release 2.68, How can I do?
2)Where is the NAVL1_PERIOD parameter, in the standard or advance parameter.
I am looking forward to hearing from you any comments.
For those of you flying 2.72, please see the announcement of the 2.73 bug fix release!
I wonder if anyone can answer this for me please...
We use an X8 flying wing with air brakes fitted which work great. I was curious to see that when the air brakes are extended in stabilized flight, the air frame behaves almost exactly the same as in manual, nose pitches down and the descent rate increases dramatically as expected. What I didn't expect is why the autopilot does not stop it doing that?
If we just cut the throttle, the stabilised mode keeps the airframe level until it tries to stall as expected, but activate the air brakes and down it comes with no attempt to correct it, why?
I have a question about the calculated heading?
Does the new firmware use the GPS for heading calculation Or the magnetometer ?
Is there a calibration for the Mag. readings ?
The creation of the KMZ-files from onboard logs is solved in Mission Planner 1.2.50.
Thanks to Michael Oborne and Co for solving this.
Great software (Arduplane and Mission Planner!!!!)
Great work on the 2.72 release guys. I've been using the APM 2.5 in a Hexcopter for a while now, but the other weekend I put a Bixler 2 together with APM2.5, Telemetry & Airspeed Sensor. Its been effortless and loads of fun. No video downlink at the moment, just a small action cam to record some video. I've done a couple of flight with Waypoint navigation and loiter and thats been just fine, just need to get a hang of setting it up for an auto land. The default settings were very very close.
First maiden flight of the model was done on a day with 15-20mph winds and it coped really well, although a bit slow on the upwind legs:) Just one question though; I gather the software keeps some power in reserve and doesnt use full throttle?
I'm looking forward to seeing what else you add in future releases.
In the meantime, enjoy some video from the Bixler , made quite a lot of use of the stabalisation setting to keep the video smooth.
Has anyone tried using the Grid V2 now? It only adds a couple waypoints rather than filling in the polygon.
Not sure if this is related to 2.72 but It worked last time I tried it when I was on 2.71. Maybe a MP update changed it?
What is the planned release date of the next version of the firmware? Also, what cool features are coming? Will it include a altitude nav filter similar to what was released in 2.72?
Great work keep it up. I am looking forward to new updates to make my plane fly even better.
I will be getting a shell of a real raven (not just a nitroplanes copy) soon that I will be adding the APM 2.5 to and I will post how it all goes.