Dev Call Aug 24 2020

Issues & Pull Requests










GSOC

Vote reminder

1 Like

Attendee count (max): 26

UTC1100 - https://github.com/ArduPilot/ardupilot/pull/15137

  • Metadata for script bindings
  • Second pass to turn the binding descriptions into a Wiki or something
  • Links to git hashes aren’t a good idea…
    • Linking to code somewhere on github
      • Can we link to a function by name?
        • Not for C++ on github it seems
  • Generate directly from generator rather than using an intermediate format
  • Need to do this in Python rather than C
  • Parsers can’t get out of sync or problems happen
  • Multiple data items probably needed to create good documentation
  • Also committing a generated cpp file into the tree…
  • Stand-alone Python script instead of intermediate format
    • Would mean redoing the entire parser
    • Python thinks that would be faster
    • Don’t want this compiler to be a monster
  • Using the compiler means the code always has to be valid and more protection is afford to the documentation
  • Get some syntax and data into place?
    • Something for bindings.desc
    • For a future parser?
    • No git hashes!
  • PH will come back with this later

UTC1110 - https://github.com/ArduPilot/ardupilot/pull/15148

  • Don’t fall back to DCM
  • Pulling issues out of larger PR
  • Wheel encoders and GPS enabled
    • Doesn’t work ATM
    • AHRS nav ekf checks to see if you have a gps enabled and if you have one enabled but aren’;t using it shifts the vehicle to use DCM instead
    • We’ve been moving away from allowing DCM on Rover
      • Speed controller
      • EKF failsafe
    • Using gps flag is insufficient to tell you if there is an error?
      • If we had a flag that said, “configured to use gps” but the gps wasn’t using the GPS then the ekf is in an error state and we should fall back to EKF
      • If you are configured NOT to use GPS when you shouldn’t fall back
  • Why do we want to continue to use DCM?
    • Planes fast and far away so positioning isn’t critical
    • Copters aren’t expected to move
    • Rovers just sit there or are things like mowers
      • 10cm precision is expected
      • DCM doesn’t have the accuracy people want
      • Supporting an AHRS which doesn’t have that accuracy?
        • No requests for any edge cases saying DCM would be a good thing
      • EKF diverging?
        • When EKF diverges its position goes bad rapidly and extremely
        • This check is supposed to catch that
        • Large bots and large rovers can go really, really badly wrong
        • Lagging GPS data caused a divergence this week
          • EKF stopped fusing GPS and didn’t start to fuse again
            • This could happen on any vehicle
          • Rover would HOLD in that case though
            • Acceptable in all modes?
              • Might not be able to get home from out-at-sea
              • Rare, rare case
              • More often a mower
                • Don’t want to “do our best”!
        • Randy’s not sure we should ever drop back to DCM
        • Tridge thinks we should still have it as an option so the vehicle can be saved
        • Randy says we don’t have a lot of vehicles crossing the ocean…
        • Tridge says we need a flag in the filter status which is true when we are configured to use a gps but we aren’t currently using it
          • When we’re rejecting the GPS we should fall back
          • But when we’re just not using it we shouldn’t fall back
          • EKF failsafe would need to work with DCM
          • Boats going around Northern Australia, multi-month trips
            • EKF going bad on them?
            • Configuration option if you want fallback to DCM to get you home

UTC1142 - https://github.com/ArduPilot/ardupilot/pull/15140

  • Honour the failsafe bits
  • Works on FMU but not on IOMCU
    • This fixes that
  • This munges the input from the IOMCU on the FMU
  • This is an option you have to turn on saying you should ignore s.bus failsafe
    • Unusual situations
      • E.g. outback challenge where you’re flying a very long way away
        • Petrol Ignition based on RC
      • Autonomous heli
        • Petrol ignition
        • And collective
  • No-pulses is by far and away what should be being done in the vast majority of cases
  • This only affects receiver failsafe bits, NOT the throttle failsafe
    • Several of these fport, s.bus, …
    • Not dsm

UTC1150 - https://github.com/ArduPilot/ardupilot/pull/15129

  • Multi-sensor canbus AP_Periph device
  • Matek made this one, Hitek is about to produce another
    • 10 and 5 inch sensors
  • Release will be F3-based
  • … also a CAN compass with an i2c port

UTC1159 - https://github.com/ArduPilot/ardupilot/pull/15128

  • Route learned too early, race condition
  • We did the original PR without testing on hardware - that was a mistake
  • MdB will do another patch that sets the parameter default

UTC0003 - https://github.com/ArduPilot/ardupilot/pull/15121

  • Several issues
  • EKF average timing doesn’t detect lagged data
  • When uart pushed too hard the GPS lags the data inside the GPS
  • Could be over two seconds old
  • EKF stops fusing GPS data
  • Position estimate goes bad
  • Could happen on any vehicle
  • GPS raw data for post-analysis
  • 5 samples in a row with a lot more than the expected lag marks the GPS unhealthy
  • Fallback to dcm wasn’t working because we were setting using-gps when gather data but not when fusing data
  • Should we be complaining more if we fall back to DCM?
    • AHRS should be marked unhealthy if not using your configured estimator
    • EKF will go red…
  • Can now simulate very high accuracy
    • Second issue when a GPS claims higher accuracy than you actually have
      • RTK fixed ,status 6
      • EKF will diverge as the sensor is lying to it
      • Fusion is scaled according to accuracy
      • Parameters for minimum accuracy
        • Not applied uniformly
          • Fixed
    • Simulate 1cm
    • Can get SITL to diverge
  • Detecting lag -> difference between GMS and TimeUS
  • EKF can’t converge from any state
  • Reinitialise EKF from DCM?
    • Discussed…
  • Failures when DCM appears when it doesn’t want you
  • UKF, particle filters, ….
  • KFs make assumptions about the inputs
  • 1s of bad sensor input can scramble the EKF to the point it can’t recover
  • This PR would save aircraft
  • merged!

UTC0026 - https://github.com/ArduPilot/ardupilot/pull/15104

  • Really want the RCOU equivalent
  • merged!

UTC0027 - https://github.com/ArduPilot/ardupilot/pull/15103

  • Beacon stuff
  • Fixed simulator
  • EKF/AP_Beacon fixed for number of beacons
  • Increasing beacon buffer size by 1…
    • All consumed by EKF
    • Reduce by one and it didn’t process everything
    • Time horizon issues?
    • Weird +1 thing in the EKF side of things?

UTC0038 - https://github.com/ArduPilot/ardupilot/pull/14956

  • Merged!
  • Terrain loiter-to-alt fix

UTC0039 - Plane update

  • Compass fixes
  • New beta coming
  • Hoping this will be the last beta
  • Ability to test stable releases is limited
  • Cherry-picked compass fixes
    • Can’t get the tests back
  • Edge-cases
  • We’ve been in 4.0.6 for a very, very long time
    • With a fundamentally broken feature
  • Stable releases don’t get same testing as autotest does
    • Confidence in master
    • But not in the betas
  • Rather ambitious beta…
    • Crsf… other major changes
  • Definitely learning the lesson from this
  • If we’d done a 4.1 we would’ve gotten that out sooner
    • We can’t go back at this point
      • We’d be invalidating what testing we have had
  • Tridge is not delighted about this release
  • HoTT telemetry should have been 4.1
  • Compass was another thing that should have been 4.1

UTC0045 - Copter update

  • New beta coming
  • Really good dev work going on
  • Ignore obstacles before takeoff
    • Cylinder around home where it ignores obstacles
  • Last change to go in for GSoC is to use both bendy ruler and dijkstra at the same time
  • Walking robots
    • Still a chunk of work to get stuff into master
      • Randy will be focussing on this this week

UTC0053 - Rover update

  • Nothing to note

UTC0053 - GSoC

  • Close to merging EKF affinity
    • Multiple airspeed sensor failover support
  • Autotest for blocked pitot
    • Lane-switch
  • Slow-drift in flight
    • 30s drift of 150 pascal
      • Will crash planes
  • Error-score based on innovations of 0.2 will mean lane-switch
    • Relatively complicated
  • Slow baro drift won’t trigger
  • MatLAB
    • Most work is in
    • More docco coming
    • Wiki section on matlab
    • Blog/summary post coming
    • Fabs vs abs?
      • Not tried yet

UTC0058 - vote pending on google groups

  • Please vote!

UTC0100 - close

1 Like