Developer

APM:Plane 3.5.0 released

3689651507?profile=original

The ArduPilot development team is proud to announce the release of the 3.5.0 version of APM:Plane. There have only been a few small changes since the 3.5.0beta1 release 3 weeks ago.

The key changes since 3.5.0beta1 are:

  • addition of better camera trigger logging
  • fixes to override handling (for users of the OVERRIDE_CHAN) parameter
  • fixed a pulse glitch on startup on PX4

See the full notes below for details on the camera trigger changes.

For completeness, here are the full release notes. Note that this is mostly the same as the 3.5.0beta1 release notes, with a few small changes noted above.

The biggest changes in this release are:

  • switch to new EKF2 kalman filter for attitude and position estimation
  • added support for parachutes
  • added support for QuadPlanes
  • support for 4 new flight boards, the QualComm Flight, the BHAT, the PXFmini and the Pixracer
  • support for arming on moving platforms
  • support for better camera trigger logging

New Kalman Filter


The 3.4 release series was the first where APM:Plane used a Kalman Filter by default for attitude and position estimation. It works very well, but Paul Riseborough has been working hard recently on a new EKF variant which fixes many issues seen with the old estimator. The key improvements are:

  • support for separate filters on each IMU for multi-IMU boards (such as the Pixhawk), giving a high degree of redundancy
  • much better handling of gyro drift estimation, especially on startup
  • much faster recovery from attitude estimation errors

After extensive testing of the new EKF code we decided to make it the default for this release. You can still use the old EKF if you want to by setting AHRS_EKF_TYPE to 1, although it is recommended that the new EKF be used for all aircraft.

Parachute Support

This is the first release with support for parachute landings on plane. The configuration and use of a parachute is the same as the existing copter parachute support. See http://copter.ardupilot.com/wiki/parachute/

Note that parachute support is considered experimental in planes.

QuadPlane Support

This release includes support for hybrid plane/multi-rotors called QuadPlanes. More details are available in this blog post: http://diydrones.com/profiles/blogs/quadplane-support-in-apm-plane-...

Support for 4 new Flight Boards

The porting of ArduPilot to more flight boards continues, with support for 4 new flight boards in this release. They are:


More information about the list of supported boards is available here: http://dev.ardupilot.com/wiki/supported-autopilot-controller-boards/

I think the Pixracer is a particularly interesting board as it is so small, and will allow for some very small planes to fitted with an ArduPilot based Autopilot. It is really aimed at racing quads, but works well on small planes as well as long as you don't need more than 6 servos. Many thanks to AUAV for providing development Pixracer boards for testing.

Startup on a moving platform

One of the benefits of the new EKF2 estimator is that it allows for rapid estimation of gyro offset without doing a gyro calibration on startup. This makes it possible to startup and arm on a moving platform by setting the INS_GYR_CAL parameter to zero (to disable gyro calibration on boot). This should be a big help when flying off boats.

Improved Camera Trigger Logging

This release adds new CAM_FEEDBACK_PIN and CAM_FEEDBACK_POL parameters. These add support for separate CAM and TRIG log messages, where TRIG is logged when the camera is triggered and the CAM message is logged when an external pin indicates the camera has actually fired. This pin is typically based on the flash hotshoe of a camera and provides a way to log the exact time of camera triggering more accurately. Many thanks to Dario Andres and Jaime Machuca for their work on this feature.

Lots more!

That is just a taste of all of the improvements in this release. In total the release includes over 1500 patches. Some of the other more significant changes include:

  • RPM logging
  • new waf build system
  • new async accel calibrator
  • SITL support for quadplanes
  • improved land approach logic
  • better rangefinder power control
  • ADSB adapter support
  • dataflash over mavlink support
  • settable main loop rate
  • hideable parameters
  • improved crash detection logic
  • added optional smooth speed weighting for landing
  • improved logging for dual-GPS setups
  • improvements to multiple RTK GPS drivers
  • numerous HAL_Linux improvements
  • improved logging of CAM messages
  • added support for IMU heaters in HAL_Linux
  • support for RCInput over UDP in HAL_Linux
  • improved EKF startup checks for GPS accuracy
  • added raw IMU logging for all platforms
  • added BRD_CAN_ENABLE parameter
  • support FlightGear visualisation in SITL
  • configurable RGB LED brightness
  • improvements to the OVERRIDE_CHAN handling, fixing a race condition
  • added OVERRIDE_SAFETY parameter


Many thanks to everyone who contributed to this release! The development team is growing at a fast pace, with 57 people contributing changes over this release cycle.

I'd like to make special mention of Tom Pittenger and Michael du Breuil who have been doing extensive testing of the plane development code, and also contributing a great deal of their own improvements. Thanks!

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • @Andrew, Upgrading from the 3.3.0, any need for new calibration? 

  • Just loaded in my Skywalker, any need for new calibration coming from 3.4.0 ?

  • Thanks Tridge, that confirms my testing above.

    Goes to show how awesome APM:Plane is these days. I didn't even notice that it had fallen over to the GPS heading. Big thanks to all of the developers!

  • Developer

    @Slipstream, looks like you need YAW_270 for mag1, which is COMPASS_ORIENT=6

    I checked your 3.4 log and it had the same issue. In that flight the EKF saw that the compass heading was inconsistent with the GPS and it ignored the compass for most of the flight.

    The 2nd compass was nicely consistent with your GPS heading in your 3.4 log

  • Think I sorted it now with the compass orientation set at 270 for the external compass. Not sure why it armed on 3.4 as both compasses were enabled. I did have the internal compass as the primary compass though. In any case. Thanks for your help as always Tridge.

  • Developer

    @Slipstream, you are right that the orientation of one of your compasses is wrong. From your description and the data I can see that the primary compass has incorrect orientation.

    3702176320?profile=originalyou can see that mag2 heading follows your description. If you fix up COMPASS_ORIENT I think you'll find it will work fine.

    I'd need to see a log from 3.4 to know why it worked with 3.4. Perhaps you just had that compass disabled in 3.4?

    Cheers, Tridge

  • Developer

    @Vladimir,

    You can use any device that gives you a PWM pulse proportional to the RPM as a TTL signal.

    For our vehicle we tapped into the PWM signal that goes between the ignition module and the petrol motor. That is already the sort of signal that is needed, although we found it was only reliable when a bit of circuitry was added to ensure the tap on the line didn't disturb the ignition. Jack Pittar built that bit of electronics and you can ask for details on the CanberraUAV mailing list if you are interested.

    Otherwise you can use a magntic or optical RPM sensor (Hobbyking sells some for example) where the raw sensors generate a pulse proportional to RPM. They tend to be sold as part of a single wire chainable protocol which we don't support yet, so you need to cut off the sensor and use it directly. I'd like to support the single wire protocol directly in the future.

    Cheers, Tridge

  • Thanks for the great work..

    Even though my plane worked great on 3.4 when I redid the compass calibration on 3.5 my compass heading is off by 70 degrees.Looking at the logs I can see the compasses seem to report different headings but I don't know what to make of it. I'm guessing maybe the orientation is wrong on one of them?! I find it surprising given that it worked fine in 3.4 but maybe I had one of the compasses switched off when on 3.4 or something.

    https://www.dropbox.com/s/pqaslcbicph778v/7.BIN?dl=0

    Above is the log. I booted the plane up in line with where it thought north was following the calibration. Then I rotated the plane counter clockwise by 90 degrees then clockwise from the original heading by 90 degrees which you can see in the logs. The actual heading at the start when I booted up was around 70 degrees.

    Dropbox - Error
    Dropbox is a free service that lets you bring your photos, docs, and videos anywhere and share them easily. Never email yourself a file again!
  • Hi Tridgell,

    In list of improvements there is a state "RPM logging"

    What device can measure RPM and send this data to Pixhawk? This is very important feuature for me!

    Cheers.

  • can I use a deep stall Parachute Support?

    elevator lift up?

    inflate the airbag (first rapidly, then slowly)?

This reply was deleted.