Developer

ArduPlane 2.73 released

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:

  • fixed a noise and scaling problem with airspeed sensors
  • fixed a potential flyaway problem with the L1 navigation controller
  • improved handling of poor GPS velocity for attitude correction

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.

Other changes

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:

  • fix the PX4 barometer driver to run at full rate
  • fixed handling of a saturated compass on PX4
  • added COMPASS_ORIENT option to support external compasses
  • fixed the compass in HIL simulation
  • added GCS messages to flash logs
  • allow 3D accel calibration over MAVLink
  • Added new ELEVON_OUTPUT option
  • removed MANUAL_LEVEL option (manual level is now always on)
  • improved pitch handling when inverted

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!

Cheers, Tridge

 

 

 

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

Join diydrones

Email me when people reply –

Replies

  • finally PX4 ready for installation in airplane. many months of frustration is finally over. many many issues from PX4FMU driver, telemetry, servo output, airspeed sensor etc. i do not see any issues anymore. i have shrunk wrapped  PX4FMU+PX4IO. mounted on 10mm anti vibration mounts from 3DR store. in turn the mounts are on a fiber sheet. all assembly has been done using 3mm bolts. the fiber sheet would have the 3mm double sided anti vibration tape at bottom glued to the aircraft. would eventually try on nitro plane also after some flights on electric. currently uploaded arduplane2.74b. i need lot of good luck to fly it now.  big thanx to diydrones community. special thanx to gary.3692750694?profile=original

  • @kullman, i am using a frsky 4 channel Rx with 8 channel standard PPM output. just shorted the Pin 2 & 3 and fed PPM to Pin1 of INPUT. i am using this for last one year without any problem. did not modify the firmware. which frsky Rx are you using?

  • Does anyone have a params file on this new version for a skywalker 1900?  I imagine the values for the new controller don't quite translate from the 2.5 version that's on the googlecode page!

  • Hi Andrew

    Firstly thank you for all your work, 2.73 is working very well thank you.

    I have however found a snag which may be a mission Planner issue and not 2.73 non the less herewith the details:

    In trying to geo ref the images with mission planner tool an error of approx 10hrs is present between Camera image (exif) time and track points, on closer inspection the time for all the points in the GPX file (downloaded with mission planner) are all recorded as 22H00. The rest of the data Lat, long and Alt is all correct, it is just the time parameter is incorrect and unchanged throughout. In the log file the GPS Time parameter increments correctly.

    I have unfortunately erased the log files before checking this so I have not been able to attempt another download with an earlier version of Mission Planner.

    Attached KML and GPX for info.

    2013-06-17 rappa flt 2.kmz

    2013-06-17 rappa flt 2.log.gpx

  • great hint, thank you
  • @ andrew tridgell, i have loaded arduplane 2.73 on PX4. i am not any getting PWM output on the PX4IO servo header. everything seems to be working fine. the  radio calibration bars are responding correctly in mission planner. the 3DR radio is working fine. even the airspeed sensor seems to be responding correctly. i am using frsky Rx with 8 channel PPM out which works very well with APM2.5 i am curently flying. i know this is the worng forum but i am not able to find you on PX4 testing forum. any suggestions what could be wrong.

  • Andrew,

    I was flying my Super sky surfer on Sat. and I was having some serous range issues. I was not able to get more than .5 nm with out a GCS time out. Could you look at my file and let me know if it is a APM/915MHz module issue or something else.

    My theory is that my ASUS Netbook is not producing good power to the USB Module and is effecting my range. Is this possible? This is the only change to my last flight. I usually use my Mac Book pro and I can achieve over 3 nm range.

    Here is my Log.

    2013-06-15 08-38-51.tlog

  • Is there any simple way to connect and read an external temperature sensor?

    Also send it to OSD trough mavlink?

    ----------------------

    This version is the best lately. :)

    Thank you!

  • I have a technical question.

    Are the PID gains of the servos (i.e. servo_roll/sevo_pitch) constrained in certain range of values? or can be anything?

  • hi to all.. i interface the Eagle tree airspeed sensor in arduplane 2.68 and fly very well..the sensor is in third party mode and output measure airspeed in km/h and the code convert to m/s my code is below...i replace in AP_airspeed.cpp and delete other code...but in 2.73 i tries to communicate and not work...i use a code

    hal.i2c->read(ets, 2, buf)   to replace    I2c.read(ets,2,buf);

    it's posible to any help me with this...thank you very much

     

    arduplane 2.68 code...

    #include <I2C.h>

    #define ets 0x75

    #define oul  0x07

    // calibrate the airspeed. This must be called at least once before

    // the get_airspeed() interface can be used

    void AP_Airspeed::calibrate(void (*callback)(unsigned long t))

    {

    delay(10);

        I2c.write(ets,0x00);

    delay(10);

    I2c.write(ets,oul);

    delay(10);

        _airspeed_raw = 0;

        _offset.set_and_save(_airspeed_raw);

        _airspeed = 0;

    }

    // read the airspeed sensor

    void AP_Airspeed::read(void)

    {

     

    int  l = 0;

    uint8_t buf[2]; 

    I2c.read(ets,2,buf);

    l = buf[1] << 8;

    l |= buf[0];

    _airspeed               = l / 3.6;

    l = 0;

    }

     

This reply was deleted.

Activity