Developer

APM:Plane 2.74 released

The APM dev team is delighted to announce the release of APM:Plane 2.74, a major new release with a lot of new features. This release is recommended for anyone flying fixed wing aircraft with an APM2 or PX4.

There are a lot of changes in this release, but some of the highlights are:

  • new APM_Control attitude controllers.
  • new TECS speed/height controller from Paul Riseborough.
  • two new flight modes, ACRO and CRUISE
  • new camera trigger by distance system, for better aerial mapping
  • dozens of small fixes and improvements from two months of development
  • lots more documentation, including tuning guides for all the new parameters

Scroll down for a more complete list of changes, but before that I'd like to give you a bit more detail on the highlights above.

New Attitude Controllers

The new "APM_Control" attitude controllers have been in development for a long time. Originally developed by Jon Challinger last year, they were extended by Paul Riseborough and made compatible with the existing parameter names. The key advantage of these new controllers is their improved handling of noise, and much better ability to tune for your aircraft. There is a new tuning guide in the wiki which gives detailed instructions on how to make the most of the new capabilities.

One of the big effects you will see with the new attitude controllers is better handling of pitch compensation in turns. The new PTCH2SRV_RLL parameter makes tuning for flat turns much easier, which has been a major source of frustration in the past.

The new controllers also handle sensor noise much better, especially if you use any D term in your roll or pitch controllers.

New Speed/Height Controller

The new TECS speed/height controller is the second major controller change in this release, and will make a world of difference for aircraft with an airspeed sensor. After a lot of testing I decided to make TECS the default in this release, although you can switch back to the old controllers using the ALT_CTRL_ALG parameter if need be. If for some reason you find you do need these old controllers then please let me know, as I am planning on removing the old controllers in the next release.

The previous airspeed controller for speed/height suffered from a major problem that it gave absolute priority to airspeed. If the aircraft could not achieve the target airspeed you had set then it would dive to gain speed, even to the point of diving into the ground. This made it quite fragile, and you had to be very sure of your airspeed configuration.

The new controller operates over a range of airspeed values, set using the ARSPD_FBW_MIN and ARSPD_FBW_MAX parameters. That controller will try to meet both the airspeed and altitude demands of the mission, but if it can't reach the target speed it will happily fly a bit slower, as long as it doesn't get below ARSPD_FBW_MIN. You can control the relative priorities of speed versus height using the TECS_SPDWEIGHT parameter. See the full tuning guide for details.

New ACRO flight mode

After a suggestion from Thomas in the 2.73 release thread, we have added a new ACRO flight mode.

This modes brings rate controlled stabilization to APM:Plane, and should help give you an "on rails" manual flight experience. It is a lot of fun to fly, but it is not for beginners!

We're planning on expanding the ACRO mode in future releases. Right now it is great for "locked in" flying, and also good for loops and handles inverted flight very nicely. It doesn't yet handle knife-edge or prop-hanging.

New CRUISE flight mode

After a suggestion from Hein, we now have a new CRUISE flight mode. This mode is ideal for longer distance flying without a pre-programmed mission. It is like FBWB, but also does ground track heading hold, with heading update via aileron or rudder.

I've been testing CRUISE at my local flying field, and it is the easiest mode to fly in APM. Just steer the plane around the sky, and when you stop steering it locks onto a ground track and holds it. It isn't a good mode for takeoff and landing, but once you are in the air it is great.

New camera trigger system

When using APM for aerial mapping where you want photos taken at regular distances, the previous system was to setup a grid mission with a "camera trigger" mission item at regular intervals within the mission. That worked, but led to overly large and complex missions. You can now just set a single parameter CAM_TRIGG_DIST to the number of meters of flight between photos, and the APM will take care of when to trigger the camera. This makes for much simpler missions, and also works in other flight modes, including FBWB and CRUISE.

Lots of smaller changes

As is usual with a new release after a couple of months of development there were a lot of smaller improvements based on feedback from users. Many thanks to everyone who gave feedback and contributed patches!

Here is a partial list of the changes:

  • added new GND_ALT_OFFSET parameter for ground station barometric correction
  • made it possible to set the failsafe battery voltage and battery level at runtime via parameters
  • added MIXING_GAIN parameter for controlling the elevon and v-tail mixers
  • fixed stick mixing range in AUTO modes  (thanks Soren!)
  • fixed mode logging in dataflash
  • added support for the EagleTree I2C airspeed sensor on PX4
  • added new RCMAP_* parameters for re-mapping control channels (good for DSM and SBUS receivers on PX4)
  • made it possible to configure board orientation at runtime, to make setup easier without rebooting
  • switched to new task scheduler for more accurate internal timing
  • added a new RELAY_PIN parameter for setting up camera trigger via a digital pin
  • added secondary rudder support, useful for when a separate servo is used for a nosewheel and the rudder, or for v-tail planes with nosewheels
  • fixed RTL glide slope when starting above the target RTL altitude. Descent should now be smooth over long distances. Many thanks to Kitsen13 for raising this.
  • fixed a bug with FBWB airspeed control. Many thanks to Gabor for reporting this
  • Added FS_LONG_TIMEOUT and FS_SHORT_TIMEOUT parameters. Many thanks for the suggestion by Aleck
  • fixed handling of deadzone parameters on RC channels. Many thanks to Soren for reporting this
  • many small C++ fixes from NeuroCopter. This sort of detailed review of our code is much appreciated!
  • fixed analog in handling with some unusual devices - thanks to Andi for noticing this!
  • added support for apparent versus true airspeed calculations based on pressure altitude, for better flight control at higher altitudes
  • avoid writing unchanged bytes to EEPROM, for faster updates and less wear on the chip
  • cope better with large yaw changes in the AHRS code
  • improved the reliability of USB connections on PX4
  • added PX4 support for RELAY (thanks to Marco Bauer)
  • fixed handling of high spin rates in AHRS (thanks Jurgen!)
  • removed support for the old APM1 1280 based boards.

This new release has a lot of new features that should improve the flying experience for all APM users. The APM dev teams wishes all APM users many enjoyable flights, and we hope you have as much fun flying this release as we had making it.

Happy flying!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • I think I might have found a bug in acro mode.
    When I move the elevator stick about 10% up or down away from neutral, I get full deflection of the elevator resulting in very nervous pitch behaviour.
    Aileron and rudder servos respond normal to stick input ( Full range of the stick proportional to servo output)

  • Moderator

    I have amy APM2.0 in an X5  flying wing that worked great with 2.73, yesterday the same plane in the same field suddenly lost its GPS position in the middle of a auto flight and according to the MP it was flying backwards for a few seconds, the only thing that changed was the update to 2.74b. the Sat count dropped from 12 to 6 in the midlle of a 45-50degreee banked turn to the north. it recovered after several seconds and continued the mission then it did the same again and went into circle mode then then recovered again, I landed safely and everything seems OK.

    Is 2.74b handling the GPS differently or did I just have a bad day? or could the high angle of bank have caused the issue.

    thanks 

  • I have made the switch today to 2.74b and I must say the new attitude controllers are a big improvement over the old ones.
    To make automatic flight perform about the same as the old altitude controller I had to increase the pitch gain and I added 0,1 to the TECS pitch damper. After that it flew allright, without oscillations. I can see the new controller can benefit A LOT from an airspeed sensor, so I ordered the kit when I got home. (TECS almost stalled the plane a couple of times, old controller never did that with the same settings. I had to reduce PITCH MAX)

    Just a couple of questions:
    1: When I increase the I gain of the pitch and roll2srv controller, nothing seems to happen. I put it in fbwa mode and lay it tilted on the ground. I would expect the control surfaces deflecting an extra 15 degrees over time to compensate for the tilted position of the craft, but they stayed right where they were.  is there something wrong with my settings?

    2: When I have an airspeed sensor installed, And I fly in windy conditions where the wind == airspeed_cruise with the plane downwind and at target altitude, The ground speed will be zero. Meaning the plane can't fly back to me when I switch to RTL.
    Is there some compensation built in that makes sure the ground speed cannot be zero or negative?

  • nice job!

    for flat turn isn't better to control vertical acceleration instead of adding pitch compensation in turns?

    in turns more elevator is needed instead more pitch angle!

  • Tridgell hello, today I tested the 2.74 version everything went well. except for the change in altitude down in guided mode, any idea that does not obey?

    when you change altitude to climb guided mode works well. but when I change to lower altitude, the plane does not drop.

    guided flight at the end of the file.

    tlog file attachment

    thanks for your help

    jim

    2013-07-21 15-56-44.tlog

  • Hi

    I flew today. Prior to this flights I was very confident in my EasyStar.2 autonomous flight capabilities. Now .... it is TUNNING ALLL over again with the new TECS.I hope to have the time and perseverance to have the same results as the other navigation formula. What is strange is that I had problems (that I never had before) with aerial speed sensor(not calibrated or...???)

    So from my POV:

    big step forward with big effort!

  • Moderator

    Something I've noticed that I don't recall happening before: when I connect a battery without having the Tx on (yes I know, Tx on first always but sometimes I just want to check or see something), the failsafe kicks in immediately (great > enters Circle Mode), but the motor starts and runs on the ground! Is this normal or new?

  • Hi Tridge,

    Are there any caveats with using this release on the older APM1.4 hardware?

    Thanks,

    Dave

  • Moderator

    I'm afraid my experience flying v2.74b this morning was not at all satisfactory. However it's most likely a tuning issue but with all the complicated new parameters it's hard to know where to start. Attached are my logs, I'm hoping that the devs can have a look and disseminate them. (Note I'm not using an airspeed sensor (yet) but the wind was very light, about 3-5km/h.)

    Two main problems are as follows:

    1) Motor hunting during flight - not sure why or how to tune it out but it was very noticeable, i.e. quick-ish, uneven changes in motor RPM.

    2) Diving at the entry into a turn, followed by rapid height loss then a 'zoom' to try regain the lost altitude.

    Paul, Tridge, how do I tune these 2 problems out?

    P.s. additionally the logs show the altitude started at 100m AGL at the start of the mission and dropped to 50m AGL at the end, all waypoints were at 100m

    2013-07-20 09-35 115.log

  • Moderator

    The Arduplane Pids tab used to have the "most-used" or relevant tuning parameters but the new additions like APM_Control and TECS tuning parameters are now hidden in the advanced tab, is there any plan to get the most relevant tuning parameters onto the Arduplane Pids tab?

This reply was deleted.

Activity

DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer https://t.co/giVvuE4hP7
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing https://github.com/pncsoares/self-driving-car
Jul 4
DIY Robocars via Twitter
RT @donkey_car: Human-scale Donkey Car! Hope this makes it to a @diyrobocars race https://www.youtube.com/watch?v=ZMaf031U8jg
Jun 25
DIY Robocars via Twitter
Jun 25
DIY Robocars via Twitter
Jun 16
DIY Robocars via Twitter
RT @GrantEMoe: I won my first @diyrobocars @donkey_car virtual race! Many thanks to @chr1sa @EllerbachMaxime @tawnkramer and everyone who m…
Jun 13
DIY Robocars via Twitter
RT @gclue_akira: JetRacerで自動走行したコースを、InstantNeRFで再構築。データセットは別々に収集 #jetracer #instantNeRT https://t.co/T8zjg3MFyO
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: SPC 3.0 Now the motor also works. This car is doable. I just need to design a deck to mount my compute and sensors. http…
Jun 13
DIY Robocars via Twitter
RT @SmallpixelCar: My new car SPC 3.0. https://t.co/CKtkZOxeNQ
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: High speed at @diyrobocars thanks @EdwardM26321707 for sharing the video https://t.co/o4317Y2U1S
Jun 7
DIY Robocars via Twitter
RT @SmallpixelCar: Today at @RAMS_RC_Club for @diyrobocars. Used @emlid RTK GPS and @adafruit @BoschGlobal IMU. Lap time 28s https://t.co/R…
May 28
DIY Robocars via Twitter
May 15
DIY Robocars via Twitter
May 14
DIY Robocars via Twitter
May 13
DIY Robocars via Twitter
RT @f1tenth: Say hi to our newest #F1TENTH creation for @ieee_ras_icra next week in Philly. It’s going to be huge! 😎 🔥 @AutowareFdn @PennEn…
May 13
DIY Robocars via Twitter
May 11
More…