Dev Call Jan 31, 2022

Issues & Pull Requests

Plane

Copter

Rover

Hi, I was looking through the issues list and found the “Rangefinder landing double offset” one still open:

Isn’t this already fixed by #17948 and #18997 which are follow ups of
#17424 ?

Please feel free to correct me if I am wrong.

Attendee count (max): 27

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

  • Move singleton and other bindings to flash
  • Saves about 20kB of memory
    • Huge win for F4s
    • Will scale better as we add more functions
    • Singletons still cost a bit more memory
    • New method bindings won’t cost RAM
    • Adds a kB or so of flash
  • Any speed issues?
    • Garbage collection means memory usage bumps up and down
    • Locals cost a different amount of memory
  • Every time you make an API call it strcmps across a list of bindings
    • LUA used to do it magically for us - how?
    • Perfect hash it?
    • Sort it and bisect it?
    • Directly to singleton but then linear through number of methods
    • Static table
    • Would be nice to have a build-time option to disable interrupts while in scripting so we can test speed of the search-for-bindings thing
  • Only affects bindings we’ve added
  • “NeedsTesting” - well, really “NeedsBenchmarking”
  • Make default heap size larger on our bigger boards?
    • Can’t do pretty much anything now-adays….

UTC1116 - AC_AttitudeControl: always use smaller of slew yaw and rate max by IamPete1 · Pull Request #19735 · ArduPilot/ardupilot · GitHub

  • Leonard approves
  • Use smaller of slew rate and rate max
  • Merged

UTC1120 - Remove loiter and WP_Nav from take-off and landing by lthall · Pull Request #19739 · ArduPilot/ardupilot · GitHub

  • Remove loiter and wp_nav from take-off and landing
  • … come back to this when Leonard’s audio is fixed

UTC1120 - Remove loiter and WP_Nav from take-off and landing by lthall · Pull Request #19739 · ArduPilot/ardupilot · GitHub

  • Warnings fix for MacOSX
  • Can’t really use DBL_EPSILON even when using doubles
    • May use result in a floating point calculation and get a numeric error later
  • Need to make sure all of these are covered in the unit tests
  • This uses template specialisation so we can actually use is-zero with actually zeroes in the integer case

UTC1130 - AP_NavEKF3: rename optical flow and terrain variables (NFC) by rmackay9 · Pull Request #19878 · ArduPilot/ardupilot · GitHub

  • Rename variables in EKF3
  • terrainStateValid maybe terrainAltValid?
  • Paul will need to say yes
  • Peter likes a lot of these changes

UTC1136 - Remove loiter and WP_Nav from take-off and landing by lthall · Pull Request #19739 · ArduPilot/ardupilot · GitHub

  • Redux
  • Remove loiter and wp_nav from take-off and landing
  • Simple input shaping for position controller to do reposition on landing and to control the aircraft during takeoff
  • We currently use loiter and wpnav
    • Complex initialization and relaxes to stop the aircraft twitching or doing the wrong thing
    • Or in the case of landing using loiter for horizontal control which is usable in a lot of ways
    • Keep things simple
    • Especially the takeoff transition for 4.3
  • Hoping to get this merged before 4.2 release
    • Pretty close to the end of the day now
  • Probably not merging it today
    • Merge after testing?
  • Really, really need to document that we won’t be doing any velocity adjustments any more in takeoff/landing
  • Please review!
  • Why are we still calling wpnav then?
    • Tridge has been bitten by this sort of thing recently
      • Thought it was harmless but it was initializing stuff
    • Leonard will check
  • Nav_controller_output?
    • Might use wpnav target position over mavlink
    • If not being updated during takeoff then the status information in mavlink might not be being updated properly
    • Wp_distance and wp_bearing etc
    • Might not have targets anymore?
    • Method on the PSC to get the true target before being shaped?

UTC1151 - Force Flying by lthall · Pull Request #19753 · ArduPilot/ardupilot · GitHub

  • Force-flying on a switch
  • Tradheli doesn’t use thr_min_max method so may be unaffected
    • Doesn’t use it as a test
  • Might want to add more patches to get this switch working on tradheli

UTC1155 - 4.2 Wiki tasks (should be in upcoming features) · Issue #3688 · ArduPilot/ardupilot_wiki · GitHub

  • Extensive list of things in 4.2 which aren’t in 4.1
    • Trad heli RSC - Bill Geyer
    • Precision Landing - Rishab
    • CRSF V3 - Andy Piper
    • Turtle mode - Andy Piper
    • Notch for more than four motors - Andy Piper
    • Q_TILT_EN - Pete Hall
    • Copter ACRO/EXPO - Pete Hall
    • Batt SUM mask -Pete Hall
    • Back Trans Timer - Pete Hall
    • Tilt Wing as Flap - Pete Hall
    • TS surface scaling in VTOL - Pete Hall
    • New Trans Fail actions - Pete Hall
    • Mission Aerobatics - Tridge
    • Scripting Params - Tridge
    • Lutan EFI - Tridge
    • GPIO mask - Tridge
    • Vertical ACC cal - Tridge
    • USB passthru with baud rate support - Tridge
    • MAVLINK 2 fallback disabled - Stephen Dade
  • … and those are just the critical ones…
  • Tradheli autotune needs adding to the list
  • If you can help with any of these entries
    • Contact Henry
    • Small paragraph describing feature and parameter settings and what they do
    • Bullet points is fine
      • Needs to be enough for Henry to understand it
  • Don’t really need to go into “upcoming features” because the next beta is coming out soon

UTC0001 - AP_HAL_ChibiOS: Add ModalAI Flight Core V1 Documentation by hendjoshsr71 · Pull Request #19889 · ArduPilot/ardupilot · GitHub

  • Documentation for ModalAIFC
  • Merged!

UTC0002 - TECS Controller: Integrator throttle state · Issue #19894 · ArduPilot/ardupilot · GitHub

  • Deep TECS issue
  • Paul assigned and pinged

UTC0003 - Allow individual Baro backends to be compiled out by peterbarker · Pull Request #19897 · ArduPilot/ardupilot · GitHub

  • Only boards which probe external i2c baros would benefit from this as compiler should be eliding them
  • No baro in hwdef.dat then it assumes you will probe for baros
  • Specific line would potentially get more savings
  • Fmuv3 is a generic board so doesn’t specify
  • Should see if there are any other boards that could specify a specific baro
  • Revo mini has baro listed but also has probe-for-external
  • Real MatekF405 probably do have a baro?
    • Variants which don’t have the baro
    • Meaning you have to solder one on
  • Linker doesn’t know your optimisation level so eliding should still work
  • Peter will ping tridge to see how we go after specifying the backends

UTC0019 - Add AP_GPS_BACKEND_DEFAULT_ENABLED and have SkyViper-v2450 use just ublox and mav by peterbarker · Pull Request #19898 · ArduPilot/ardupilot · GitHub

  • Skyviper only gets MAV and uBlox
  • Might use the option on smaller boards into the future
  • Probably not pairing with anything but NMEA or uBlox
  • merged!

UTC0022 - Tradheli: new default gains by bnsgeyer · Pull Request #19957 · ArduPilot/ardupilot · GitHub

  • new tradehli default gains for attitude controller (and others!) gains
  • Will this break lots of people’s setups?
    • Most gains are lower so should be OK?
  • Use min of 80,000 (cd/s) and max of autotune at end of autotune process?
  • Nuclear option and reset parameters on level-up
  • “If user has never done a tune then change this list of defaults, otherwise leave it alone”
  • Might be doing some users a disservice not moving to these new values….
  • Plane kept equivalent of old default values when changing PID systems but assumes most people run a fixed-wing autotune to get better numbers

UTC0040 - Plane update

  • Plane: stable 4.1.0 issues list · Issue #15941 · ArduPilot/ardupilot · GitHub
  • Some interesting patches in beta
  • 4.1 ship landing stuff has turned up many things to o with transitions
  • Input shaping logic for position1 of landing on slt/tiltrotors rather than just tailsitters?
  • Better ability to tune reverse transaction
    • ATM accel/jerk limits only apply when in position2 state
    • No good means of controlling max-accels when passing position1
    • Input shaping works well for tailsitters (and in Rovers!)
  • Plane barrelling along at 100km/h and them wants to stop?
    • Ideal case for quadplane is that you drag to a stop rather than pitching
    • Input shaping code doesn’t take into account drag
      • Commands pitch
      • Q_trans_decel number is a measure of drag
        • Very crude tuning number
        • Tridge has seen logs where he can’t specify a number to get a good landing
        • Specifying accel/jerk limit might do the job, ‘though

UTC0043 - Copter update

  • Copter: 4.1.0 issues list · Issue #16478 · ArduPilot/ardupilot · GitHub
  • 4.1.4beta for Copter and (Plane 4.1.7 Plane)
  • Pile of little PRs came back
    • Pretty much everything marked for backport which merged cleanly
  • This is probably last stable before beta for 4.2
    • Waiting for build server to complete the build now
  • Maybe issue
  • Copter-4.1-beta
  • Copter-4.2-beta
  • Might have issues with parameter versioning?
  • 4.2
    • Precland stuff from Rishabh needs to come in
    • Ship-landing stuff from Leonard and tridge
    • Tradheli autotune
    • Compass renaming change?
      • Do we want it in 4.2?
      • Tridge flew it and didn’t find issues
        • Still worried it might break things?
      • If not now then when?
        • 4.3?
        • 6 months delay
      • Randy things we should merge it
  • “USE” things don’t get sorted
    • In master too
    • Lsm303d not-use, reorder compass and now a different compass is not used!
    • Use buttons are separate in the MissionPlanner interface
  • Leonard has a couple of little PRs he would like to get in for the Beta
    • Low-jerk-values in position controller input shaping and high accelerations you can get an annoying slow approach trajectories to your setpoint
      • Some work to readjust the emphasis to have a clearer stopping as you approach your setpoint
      • Use slightly lower accelerations as you approach the setpoint
      • Balance shift
      • SCurve changes
        • Position controller behaves in the same way
        • Input changes
    • Releases are closer together now, but if you’ve got things that should be in 4.2 then ping Randy
      • Josh has a couple of messaging ones

UTC0056 - Rover: 4.1.0 issues list · Issue #17116 · ArduPilot/ardupilot · GitHub

  • Merge it?
  • Pause-mission stuff should be ready to go in
    • Leonard + Mustafa
    • Wpnav controller support
    • Guided-pause done properly

UTC0105 - Motor test, forward flight and turtle mode should all obey E-stop by IamPete1 · Pull Request #19903 · ArduPilot/ardupilot · GitHub

  • Estop not being used all over the place
  • This fixes that
  • Randy will look at today or tomorrow
    • Don’t want things to fall out of the sky….

UTC0106 - https://github.com/ArduPilot/ardupilot/pull/19900/files

  • Cleanups of earlier compass collection system
  • Merged

UTC0110 - AP_Baro.cpp: Atmospheric Model Correction by rbeall · Pull Request #19904 · ArduPilot/ardupilot · GitHub

  • Atmospheric baro model
  • Useful for fitting in with manned aviation
  • Needs Paul’s input
    • Already have it, PR has been changed to realign EKF when field elevation is entered
  • Alt change shows no changes after entering the field elevation
  • Want a review from Paul on this
  • Groundspeed-zero autotest fail
    • Maybe flapping
  • Maybe ping Yuri and other aviators?
  • 12:18 PM] Peter Hall: There are some other odd things in the baro lib.
  • [12:18 PM] Peter Hall: _ALT_OFFSET upsets the EKF.
  • [12:18 PM] Peter Hall: And the EKF has a built in offset alt if you switch sources to baro.
  • [12:20 PM] Peter Hall: Would be nice to get QFE working too.
  • Call required with the interested players
  • Waypoints relative to QFE?
  • QFN, QFE, different airspace classes…
  • Support in missions support
    • Do we need to be able to fly missions where some waypoints are QFE and some are QFN?
    • Ryan:
      • Fly at 10,000 feet
        • That’s the line of demarcation for flying 2992 (inches of mercury)
        • Likelihood of flying this high is unlikely
        • Discrepancy between adb/gps is high
        • ATC says, “be at this altitude”
          • Ryan needs to know he’ll be at that altitude
          • Error can be proportional to your altitude
          • Geting this right is important
          • Ryan’s running an Excel sheet to add offset himself
          • Different demarcation lines for different countries?!
      • Getting spot on right curve requires starting altitude
        • Automate it
        • We’re Shifting curve to sea level
        • Get right base point
        • GPS altitude
        • terrain database?
  • Topic in upcoming conference for aviation altitudes
    • Everyone in the same “room” (virtual conference)
    • Conference topic list coming right up…
      • Only a couple of months away

UTC0131 - close