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

  • I just ran into a strange issue on my Pixhawk (Genuine 3DR). It's been months since I last had time to work with it and decided to try out 3.3 as I needed a good challenge. I previously had been running 3.1.5 and everything worked fine. Since I am running a Spektrum DX8 trans, I am using an Orange RX and feeding the Pix through SBUS. I have to switch the channel order which was no problem on 3.1 but after loading up 3.3 every time I would change the channel order in Mission Planner and restart I would get some weird combination when trying to calibrate the radio. I could switch to a known order I had just tried and it would show up completely different in the calibration screen. Nothing would give me a correct channel order, something was always swapped. I proceeded to erase the Pixhawk and put 3.2 on it and all works fine again.

    Did something get corrupt when I flashed 3.3 or is this some sort of bug? Should I try again? I spent almost 3 hours last night carefully writing down each combination and gave up when I realized that even combinations already tried weren't giving the same channel order in the cali screen.

    • My OrangeRX and LemonRX sit idle on the bench because of this (and related) issue. The channel mapping only half works (in 3.2.1 also), I would not risk trying it with this combo (same combo as me) until it's fully fixed, which is supposed to be coming soon.

      • Thanks Andy. Much appreciated.

        • Does anyone know when the RCMap issue might be fixed? I know Andy said "soon" but was hoping someone might be able to narrow it down a bit.

  • MR60

    Coming back on Lidarlite measurements issue with 3.3 firmware, in order to make an objective assessment, I setup a test bench as follows:

    -Lidarlite is in a fixed position

    -A 5 meter ruler is fixed with its zero origin corresponding to the base of the lidarlite unit

    -A wood panel target is positioned every 10 centimeters

    -A measurement is made with an Arduino mega board running I2C code from the manufacturer of lidarlite: https://github.com/PulsedLight3D/LIDARLite_StateMachine

    -All measurements that were giving an error of 5cm of more were repeated multiple times to exclude bad measurements.

    The results are shown in the graph below, plotting measured distance versus real distance:

    3702000768?profile=originalThis graph confirms that the obtained precision remains overall in the order of a couple to a few centimeters; except for strange measurement points like at 400 cm that I could not get better (eventhough I tried multiple times).

    The graph confirms also that any measurement under 60cm is not reliable. This is far more than the 20cm that is documented in the wiki. I would suggest to setup a minimum of 50cm in the parameter RNGFND_MIN_CM (rather than 20 cm).

    The graph confirms there is an issue in firmware 3.3 which produces wrong lidarlite measurements, for the same hardware unit (so exclusing HW variance), by about a 10x factor (40-50cm) versus the precision obtained through Arduino.

    • Distributor

      I have repeated the test, connecting the LIDAR-Lite sensor to a Pixhawk via PWM and I2C

      • LIDAR-Lite is in a fixed position
      • a 4 meter ruler is fixed, with zero corresponding to the top of the LIDAR-Lite unit
      • a wood panel target is positioned every 10 cm
      • the sonarrange value is recorded
      • at each distance three separate measurements are made, the average value is plotted on a graph

      for PWM:

      • the sensor is connected to AUX6 and AUX5 according to the wiki
      • the resistor is installed (470 Ohm)
      • the servo rail is powered through a BEC
      • software - ArduCopter 3.3 RC4
      • RNGFND_TYPE = 5
      • RNGFND_STOP_PIN = 55
      • BRD_PWM_COUNT = 4
      • RNGFND_OFFSET = 0
      • RNGFND_MAX_CM = 4000
      • RNGFND_MIN_CM = 20

      for I2C

      • the sensor is connected to I2C according to the wiki
      • the sensor is powered through a BEC (ground is connected to the servo rail)
      • software - ArduCopter 3.3 RC4
      • RNGFND_TYPE = 4
      • RNGFND_MAX_CM = 4000
      • RNGFND_MIN_CM = 20

      [the raw data is attached]

      3702567245?profile=original

      lidar lite measurements.ods

      https://storage.ning.com/topology/rest/1.0/file/get/3702567366?profile=original
      • MR60

        thx very much for doing the I2C test. So no difference in measurements between my measurements on Arduino & I2C / Pixhawk & PWM / Pixhawk & I2C. Does this mean there are no more issues with latest firmware 3.3RC4 using lidarlite on I2C interface & pixhawk ?

      • MR60

        thx very much for doing the I2C test. So no difference in measurements between my measurements on Arduino & I2C /  Pixhawk & I2C. Does this mean there are no more issues with latest firmware 3.3RC4 using lidarlite on I2C interface & pixhawk ?

        I understand from this graph the 40 cm offset is confirmed on PWM.

        • Distributor

          according to my measurements the I2C delivers very good results, being close to the expected value.

          PWM has an offset (I used the standard settings, as described in the wiki), which does actually increase slightly with distance (see the graph below).

          My understanding was that I2C could get locked up (due to the LIDAR-Lite sensor), and it was therefore recommended to use PWM instead of I2C to connect to the Pixhawk.

          3702785874?profile=original

          • Developer

            Felix,

            Really nice analysis.  So setting the RNGFND_OFFSET to 20 would bring the pwm and i2c values closer together although, they strangely don't seem to be exactly lined up even after taking the offset into account.  It seems like either the sensor or the pixhawk is not getting the pwm value quite right.

            I hear the LidarLite will not cause the I2C to lock-up anymore but it puts a nasty spike on the I2C line fairly regularly as it takes a reading.  That spike will apparently ruin other i2c traffic that's happening on the same i2c line .. that means some compass readings will be lost.  We've seen the spikes but we haven't confirmed it's effect on the compass.

            I'm going to set-up an optflow and lidar-lite on a copter next week so I'll go through the set-up in detail and see if I also run into some problems.

This reply was deleted.

Activity