Developer

Copter-3.3 beta testing

Warning #1: an issue has been found with Tower's Pause button which can cause the vehicle to fly to an old position if the vehicle has not sent a position update to Tower in some time.

Warning #2: Copter-3.3.2 fixes a bug found in Copter-3.3.1's desired climb rate initialisation which could lead to a sudden momentary drop when switching from Stabilize or Acro to AltHold, Loiter or PosHold.

Warning #3: Copter-3.3.2 fixes an issue found in Copter-3.3.1 which could lead to hard landings in RTL or AUTO if the WPNAV_SPEED_DN was set too high (i.e. >400 or 4m/s) and/or the WPNAV_ACCEL_Z was set too low (i.e. <100 or 1m/s/s).

Warning #4: a bug was found in Copter-3.3 which could cause a sudden crash if you abort a Take-off initiated from a ground station.  Video description is here.  The bug is fixed in Copter-3.3.1 so we recommend upgrading.

Note #1: AC3.3-rc8 corrected a long standing bug in the HDOP reporting.  HDOP values will appear about 40% lower than previously but this does not actually mean the GPS position is better than before.
Note #2: if upgrading from AC3.2.1 the vehicle's accelerometer calibration needs to be done again.
Note #3: set SERIAL2_PROTOCOL to "3" and reboot the board to enable FrSky telemetry like in previous versions.
Note #4: the wiki will be updated over the next few weeks to explain how to use the new features

Copter-3.3.1 is available through the mission planner.  The full list of changes vs AC3.2.1 can be see in the ReleaseNotes and below are the most recent changes since AC3.3.

Sadly this version (and all future versions) will not run on the APM2.x boards due to CPU speed, flash and RAM restrictions.

Changes from 3.3:

1) Bug fix to prevent potential crash if Follow-Me is used after an aborted takeoff

2) compiler upgraded to 4.9.3 (runs slightly faster than 4.7.2 which was used previously)

Changes from 3.3-rc11:

1) EKF recovers from pre-arm "Compass variance" failure if compasses are consistent

Changes from 3.3-rc10:

1) PreArm "Need 3D Fix" message replaced with detailed reason from EKF

Changes from 3.3-rc9
1) EKF improvements:
    a) simpler optical flow takeoff check
2) Bug Fixes/Minor enhancements:
    a) fix INS3_USE parameter eeprom location
    b) fix SToRM32 serial protocol driver to work with recent versions
    c) increase motor pwm->thrust conversion (aka MOT_THST_EXPO) to 0.65 (was 0.50)
    d) Firmware version sent to GCS in AUTOPILOT_VERSION message
3) Safety:
    a) pre-arm check of compass variance if arming in Loiter, PosHold, Guided
    b) always check GPS before arming in Loiter (previously could be disabled if ARMING_CHECK=0)
    c) sanity check locations received from GCS for follow-me, do-set-home, do-set-ROI
    d) fix optical flow failsafe (was not always triggering LAND when optical flow failed)
    e) failsafe RTL vs LAND decision based on hardcoded 5m from home check (previously used WPNAV_RADIUS parameter)

Thanks for your testing!

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

Join diydrones

Email me when people reply –

Replies

      • Thanks Randy, yes regardless of flight mode I would like to see the vehicle disarm the same way.

  • T3

    Hi Randy, 

    a questions about RAW IMU logging. 

    I made some tests with the current master (which seems to be very similar to 3.3rc7). By accident I enabled RAW IMU logging and was somehow shocked when I looked at the Acc1:AccZ values. Then I made a series of short flights in stabilize with different IMU logging speeds (and some intended roll movements):

    1) IMU

    2) IMU_FAST

    3) IMU_RAW

    What is interesting is that IMU and IMU_FAST show very similar ranges in the vibration data as well as the vibes. IMU_RAW AccX and AccY vales are also similar but the AccZ are a magnitude higher. 

    The Vibes are the same across all speeds.

    I also made an FFT analysis in Mission Planner for the third log and the main frequency is about 25Hz. Hence I assume that a negative influence of these 25Hz should be visible on all three logs. Or?

    This leaves me a little confused since the AccZ values of IMU_RAW are out of the desired range. Is IMU_RAW:ACC1:AccZ really logging the same thing as AccZ at 400Hz and 50Hz?

    Any idea?

    TIA and best regards,

    Thorsten

    IMU 50Hz:

    Acc:

    3702049511?profile=original

    Vibes:

    3702049555?profile=original

    IMU 400Hz:

    Acc:

    3702049524?profile=original

    Vibes:

    3702049568?profile=original

    IMU RAW:

    Acc:

    3702049495?profile=original

    Vibes:

    3702049537?profile=original

    FFT:

    3702049608?profile=original

    • T3

      Looking at the screenshots above as well as the code it seems the Vibes are always calculated based on a 5Hz high pass filter. For a better comparison shouldn't they be calculated in relation to the logging frequency, i.e. 5Hz, 40Hz and 100Hz?

      • Developer

        Thorsten,

        Thanks for looking at and trying out this new feature.

        The IMU_RAW logging does go through quite a different code path than the lower 50hz and 400hz imu logging but I can't immediately see any problems with the RAW logging.  It just seems to write the raw values from the sensor (received as a report from the PX4Firmware) to the dataflash.  I also don't see any problems with the formatting of the message which could lead to a change in the output - they're all logged as floats.  This leaves me thinking that the vibrations levels on this particular vehicle really are much higher in the Z-axis than on the X, Y axis but it's at a high frequency and it's being averaged out on the lower rate logging.

        The 5hz high pass filter on the VIBE message is apparently to try and get rid of the vehicle's actual movements so as far as I understand we shouldn't be changing that based on the logging rate.

        • T3

          Randy,

          thanks a lot for having a look!

          The problem we have with this is that according to Nyquist we can currently - based on the existing hardware - not determine higher frequencies. So my condensed questions is: Do you see any problems regarding flight stability with these (most probably high frequency) vibrations visible at 1000Hz, especially if all seems fine at the main loop which is responsible for vehicle stability?

          In detail:

          At 50Hz and 400Hz the vehicle movement is clearly visible in the logs and not shadowed by vibrations. In this case I assume, that it should be easy to control the vehicle for the code. For 1000Hz it is another story, because we only get a very basic idea of the vehicle movement due to high vibrations (at least visually). But since the main loop runs at 400Hz, this should not be a problem - or? Or can there be any impact stemming from high frequency vibrations - especially with very low vibes and the fact there is no clipping? 

          The next thing I am not sure about: Is the output of the 50Hz and 400Hz Acc data filtered or is it just sampled, i.e. only very nth sample is taken from the accelerometer. If it is not filtered then 50Hz and 400Hz logging should show the same characteristics (in terms of the amplitude) as 1000Hz just at a lower rate, because it is just a (random) sub sample. The only difference should be that with 1000Hz you can better analyze the frequencies. Is this correct? If so, then something must be wrong with the logging.

          Regarding the vibes I am wondering why such different vibration levels should cause similar vibe pattern. I understand the idea to remove vehicle movement with a high-pass filter (which is related to continuum removal in spectroscopy). Ah ok, if the vibes are always calculated based on the main loop or the 50Hz signal then for sure there should be no change in the values. I’ll make some tests with the raw data.

          What I am also confused about is how the high frequencies can be transferred if low frequencies are filtered out. It would make sense for a hard mounted autopilot because it would receive any vibrations. Generally, I assume the harder the damping the more high frequencies can be transferred. Also according to the FFT there is no vibration between 300 and 500Hz. Hence it must be a vibration between 500Hz and 1000Hz . The damping would then with act as a wide band-stop filter (which I do not believe) or the HF vibrations are transmitted via cables or air. (Maybe the antenna cable, I’ll check that.)

          • T3

            Is the difference in amplitude in AccZ at 1000Hz a result of the ACCEL_FILTER? I.e. the 50Hz and 400Hz values are filtered and the raw is not?

  • just had an ugly incident with AC3.3rc7, if someone could look at my original post on another thread or if i should repost here.....

    http://diydrones.com/forum/topics/ac3-3rc7-almost-hurt-me-bad-flipp...

    • Developer

      IvanR,

      I've responded over on your other thread.  Like Thorsten, I initially thought it was a mechanical issue but after a fair bit of investigation it led to uncovering a couple of bugs in how we were using the THR_MIN parameter value.  In particular when we convert it back and forth between a PWM value (i.e. RC3_MIN ~ RC3_MAX) and a 0~1000 value.  These fixes will go out with -rc8 later this week.

      BTW, next time you test with -rc8 could you make sure the RCOU dataflash messages are enabled?

      If others are concerned about hitting this bug, we've been testing for months without it turning off but it may be that the vehicle temporarily loses attitude control when the autopilot pulls the throttle very low which normally only happens for short instances when the vehicle is climbing quickly and is then switched into Althold, Loiter, PosHold, Auto, etc.

    • T3

      Ivan,

      ATT:DesRoll and ATT:Roll diverge shortly after switching to Auto mode. Maybe a coincidence and it is a motor/prop/ESC problem.

      There are som GPS issues as well, although I doubt there is some GPS glitch issue:

      • UBX1:agcCnt looks also strange (high) 
      • GPS2 had no 3D fix until shortly before you switched to Auto.

      Best regards,

      Thorsten

      • I haven't looked at the log, but there is a bug in the UBX handling with dual GPS's in that it logs both datastreams in the same slots. This means that the UBX messages flip between the two GPS's making the output look weird. I discovered this yesterday and plan to fix as I am running with two GPS's at the moment and want to make some comparisons.

This reply was deleted.

Activity