Dev Call Nov 23, 2020

Issues & Pull Requests




1 Like

Attendee count (max): 21

UTC1100 -

  • We can do better in the future, but this is good for now
  • Makes the return values closer
  • LUA scripts adding modes means has_mode could actually change over time…

UTC1108 -

  • Typo
  • Merged

UTC1110 -

  • Create an AttitudeControl just for tailsitter
  • 624 extra bytes
  • Avoiding prop strikes when using vectored tailsitters….
  • Some minor cleanups to be done before merge
  • Can be merged after Realflight testing
  • There’s a few tricks to getting better framerates in RealFlight
  • Nice but not required for Henry to test

UTC1123 -

  • Needs some discussion as to what the goals should be of this PR
  • Tridge is worried about false positives
    • Declaring a stall when it is not a stall
    • The failures have to be sustained, ‘though
    • Lost-thrust can trigger on things other stall
      • E.g. thrust loss due to blown esc
    • Many of the tests have to pass to get stall
  • This is all messy
  • Paul thinks “do no harm” and “doesn’t need to be perfect”
  • No airspeed checks?
    • Dynamic stalls tend to happen on smaller platforms
    • Load-factor ratio
    • Too many ways to trip it up?
    • Gusts a larger component of airspeed for slower-flying aircraft
    • Logs showed airspeed when stalled so it was removed
  • Would be nice to have Sam Tabor on the call
  • Bitmask approach?
    • Won’t be able to come up with something that fits all applications
    • Use confidence rather than the bitmask?
    • Weighting?
    • Stalled + wings level in a spin and you’re triggering on roll then you won’t trigger at the moment
    • But roll is a good option when you’re not in a flat spin
  • Corrective actions are rarely harmful?
  • Have an enable and then lots of parameters rather than the bitmask
  • Synthetic angle of attack option?
  • Side-slip? Probably not as you need to know a vector which in a turn you might not have
  • Lateral-departure is the most important part
    • Aka roll divergence
  • Detecting stall
    • Check roll controller error
      • Large roll-rate error
        • Large transient
        • Lost aileron control
  • Tom will go back to the log and look at the roll-rate errors rather than the roll errors
  • Any time an angle would be better than a rate
    • Yes, persistence
    • Stall prevention might be based off rate
    • Pilots instinctively will reduce pressure on a stick based on perceived roll rate
    • Absolute angle error can be large when hitting a turn
      • But so can rate unless you’re doing rate limiting
    • Early responder and late responder
  • This is important when deliberately flying really slow for efficiency
  • Stall recovery PR can be switched to manually to check its behaviour
  • Stall recovery is based on time rather than speed?
    • Initially anti-stall
    • Second is stabilisation
  • Current code might seem to work for level-stalling
  • Un-spinning might require rudder
  • Sail-planes are a different category
  • Wing on inside of spin high angle of attack needs less aileron not more, depending
  • No rudder ATM…
  • Some platforms you should level for unspinning the ailerons and put the rudder against the yaw rate
  • Two recovery phases are appropriate
    • So don’t initially close the loop in phase1
      • Down-elevator and some throttle on a duration
  • Phase2 you close the loop around the lateral
    • Should also be nose-down and some throttle
  • Nuanced topic, will schedule another call just for this

UTC0003 -

  • Thanks to Pierre for putting this this together
  • Our goal here is to completely remove ourselves from Travis
    • Move everything to github actions
  • This doesn’t actually seem to be running….
  • We’ll get this sorted out of the DevCall….

UTC0010 -

  • New javascript mavlink bindings
  • Leaves existing javascript bindings alone
  • Merged!

UTC0015 -

  • Nobody’s on top of this one…

UTC0017 -

  • Merged
  • Install Python for Wiki stuff / Sphinx

UTC0017 -

  • Needs to actually do something….

UTC0018 -

  • Need to pull this apart and grab individual bits
  • The pymavlink commit will cause problems and shouldn’t be part of this.
  • Peter will grab a few of these out for separate discussion

UTC0020 -

  • Don’t want to have the members public
    • Public setter

UTC0024 -

  • IntelligentEnergy
  • Can be merged after const float is changed to define

UTC0029 -

  • 99% Paul’s work
  • Drag and wind estimation for Copters
  • Multicopters can log wind estimate / airspeed
  • They can get an airspeed using GPS and wind speed estaimage
  • Can adjust barometer based on wind effect on barometer
  • GND_WCOF1_VN is weird?
    • Would be nice for baro library to use baro prefix
    • Rather than GND for ground pressure
    • Put WIND into a completely different class
    • Impact of airflow on a particular barometer
    • forward/back/right/left might be better
    • Should be BARO_WCOF_FWD and BARO2_WCOF_FWD, right?
    • Rip this bandaid off?
  • GCSs have special code for GND_PRESSURE to not set it
    • Single enable with zero coefficients instead?
    • Currently under HAL_MINIMISE_FEATURES
  • High-speed vehicles will rely on this more than smaller, slower vehicles
  • There will need to be a tuning procedure for this
  • Ifdefs on EKFs to save the fusion code?
    • Still get the wind estimation….
  • Fly airspeed rather than groundspeed on Copters a possibility
  • Use energy combined with wind to work out how long it will take back home
    • And fly most efficient speed to get you home
  • We will start to use ifdef features in EKF
    • Logic in EKF can be confusing
  • Test configurations will be expanded….
  • Replay will be more complex
  • Could save 30kB or 40kB if we use ifdefs in the EKF
  • Henry has to turn off FTP parameter support because of memory problems….
    • Features in the EKF burning memory for no reason.
  • Move the existing GND_ parameters aside and have Baros use Baro
  • Air-baros only
    • Tridge removed it from water baros
    • But the maths is valid
    • Venturi effects?

UTC0052 -

  • Killing the setInhibitGPS functions
  • We now have GPSs that don’t startwith vertical velocities but get them later
  • Also the parameter download problem because of the set()
  • Follow-up PR will be a field in the ringbuffer observation element
    • Better for switching GPSs
  • How was it tested?
    • Flown on weekend
    • Dual GPS, one NMEA one uBlox
  • Don’t look at end of log… watchdog due to hardware failure
  • Reboot worked just fine and stabilised afterwards

UTC0055 -

  • GPS blending fixes when dealing with abnormal error estimates
  • Good one for a backport

UTC0100 -

  • SIM_GPS_POS1 was garbage
  • Merged

UTC0101 -

  • Peter to add a patch to make all-zeroes in other parameters for sets

UTC0107 -

  • Optimise startup / configured-in-storage is expensive
  • Didn’t run travis
    • Which is on the way out
  • merged!

UTC0108 -

  • Plane update
  • Hand-launch PRs are cool
  • NaN inblended GPS backport will be cool

UTC0111 -

  • Copter and Rover updates
  • Not much to report
  • One support issue with landing gear…
    • 4.0.5 might have a landing gear problem
  • No serious support issues with 4.0.5
  • 4.1 beta in a month or so
    • Want s-curves before then
      • Quadplane tests pass!
      • Sub is still an issue
        • Working with William on them

UTC0112 -

  • More instance numbers, this time for airspeed

UTC0120 -

UTC0145 -

  • Can be merged after CI is done with it

UTC0147 -

  • Reminder for reviews

UTC0149 -

  • Reminder for reviews

UTC0149 - close

1 Like