Dev Call Sept 18, 2023

Issues & Pull requests

Plane

Copter & Rover

Attendee count (max): 16

UTC2300 - Add PIDReview tool by IamPete1 · Pull Request #42 · ArduPilot/WebTools · GitHub

  • New PID analysis tool
  • Right at the end of the video is the “how do I use this?”
  • Needs a tutorial video
  • Makes lots of cool graphs
  • Would be nice to read the whole log once but the filtering bites you
    • Too much memory for entire log
  • New page with nice links to each of them separately?
  • Screen-capture of real tool makes for a good thumbnail thing

UTC2305 - https://github.com/ArduPilot/ardupilot/pull/23730

  • Add CAN_MIRROR
  • For Tom to look at
  • Can’t really move the mirror stuff out of can.cpp

UTC2307 - PID notches and D feed-foward by andyp1per · Pull Request #24411 · ArduPilot/ardupilot · GitHub

  • PID notices and D-feed-forward
  • Discussed on Wednesday evening call
  • Leonard’s added a lengthy comment
  • … TBC

UTC2310 - AP_DroneCAN: send arming state on-change by magicrub · Pull Request #24987 · ArduPilot/ardupilot · GitHub

  • Send arming state at 1Hz or on change
  • Rather than just at 1Hz
  • So if you are ramping your motors you might not start your motors at all as they see a motor output too high when the safety goes off
  • Perhaps we spam it out at 10Hz for a while?
  • Should also add a patch to send out at 10Hz
    • Tom will put modify this one

UTC2329 - AP_Periph: add AP_PERIPH_SAFETY_SWITCH_ENABLED by magicrub · Pull Request #24900 · ArduPilot/ardupilot · GitHub

  • Looks fine
  • merged!

UTC2329 - Plane: Tailsitter: use motor I term for pitch in assist if no surfaces are setup by IamPete1 · Pull Request #24913 · ArduPilot/ardupilot · GitHub

  • Use motor I term for pitch in assist if no surfaces
  • For when your control surfaces only really work in roll, not pitch
  • Might affect you even if you do have an elevator?
  • Should have had a parameter indicating the type of tailsitter you have?
    • Interaction with scripting is problematic
  • Merged!

UTC2335 - PID notches and D feed-foward by andyp1per · Pull Request #24411 · ArduPilot/ardupilot · GitHub

  • Redux…
  • T vs E?
  • What’s the conclusion from Leonard’s comment?
    • D is a good change
    • Input shaping will need it
    • feed-forward-D
  • Notch filter is a peaking filter
    • The attenuation or gain can be specified in a peaking filter
      • Can change gain at specific frequencies
        • Attenuate rather than cut
  • Leonard’s seen 4.5Hz interference frequencies on Heli on single axis
    • Nasty!
    • Can’t notch this
    • Need different frequencies on each PID acis
  • Combining system ID and PH’s new tools is great!
  • Feed-forward term for Helis and Plane is dominant
  • Mutli’s P-ff term is almost always zero and D is dominant as they are accel-based control loops
  • Leonard thinks we need a strong justification for this PR, but we might have met that threshold
  • Concern that the AC_PID system is problematic in that elaborate PID setups aren’t necessary for Plane
    • This is why there’s AC_PID2D
  • Per-axis notching might actually be applicable on some Plane frames
  • Adding these in might be problematic…
    • Parameter depth is a problem….
    • That’s a problem with single enable
  • So if we can’t add param subtree?
    • Have an API for registering a filter
    • Script to go and register notch filter against axes
    • Leonard doesn’t agree
      • PID is a well-known thing
      • Leonard mentioned this as a possibility 4 or 5 years ago
      • Leonard doesn’t really want complexity added
      • Tridge points to the evolution of the existing notch filter
    • Magnetometers?
      • Use the custom rotation
      • Reference a filter ID in the PID setup
      • Reuse same filters on different axes
      • Top level notch_
      • Or a top level FLT_
      • Then in INS we could have said “use filter number 7”
      • FLL7_* parameters
      • LUA scripting would be more flexible
    • Leonard really doesn’t want scripting involved
      • Tridge makes the argument that scripting is only used for creation of the parameters
        • …. On this PR we don’t need these extra PID parameters for Blimp….
      • Bill thinks split the PID objects - create an AC_PID_Advanced?
      • Leonard’s thinking some sort of “hide advanced parameters” thing
        • “_ADV”
      • Compile without these is important
    • Leonard doesn’t personally have a requirement for this
      • Tridge wants to know what flight testing this has had….
  • Ryan has also seen ~4.5Hz oscillations
  • Are helis the only thing that are going to use it?
    • No
  • Leonard thinks the Harmonic Notch example isn’t good, and it was obvious from the outset we should be where we are now
    • Why did we stumble towards this?
    • Conservative approach
  • Only one vehicle on the planet needs this?
    • That’s a lot of parameters for just one vehicle….
  • Custom build server only
  • Leonard has no intention of this going in immediately
  • PD Max PR that Leonard has?
    • Which side of the advanced tab should it be?
  • 10:37 AM]rmackay9: Just for the record, we have two votes that tend towards more complex filters on the PIDs… that was RyanB and PeterH
  • [10:37 AM]rmackay9: and against we had BillG, LeonardH.
  • [10:38 AM]Peter Barker: @rmackay9 there were more votes that that floating around
  • Notching input or output?
  • Filtering gyro feedback path vs filtering the target path….
  • Ryan knows of planes which use this sort of filtering
  • As we add this sort of filtering on the command-model side the filtering on the IMUs are less important
  • Ground resonance can probably also make use of this?
    • Leonard has a plan to do general gain reduction for this
  • PH would like to see plan of where we’re going…
    • Close to end past this one
    • LH has some grand plans on larger control structures and position control in guided…
  • [10:42 AM]Robert L.: @Bill, isn’t it the case that you’d automatically want to notch out RPM*#Blade ?
  • NEW
  • [10:44 AM]Robert L.: I’ve got some video of a 450 heli at 40 m/s demonstrating that.
  • [10:45 AM]Bill Geyer: @Robert L. yes. and that is already being done using the INS Notch to remove the rotor vibration noise
  • [10:46 AM]Bill Geyer: In fact we use the harmonic notch to deal with the 1/rev and N*blade/rev

UTC2346 - Add PID object PD limit by lthall · Pull Request #24567 · ArduPilot/ardupilot · GitHub

  • PD-MAX parameter in PIDs
  • Probably justifiable without going under max
  • Parameters to be marked as Advanced but can then be merged
  • Peter to provide example of @CopyFieldsFrom

UTC2349 - Tools: SITL default copter yaw tune improvement by rmackay9 · Pull Request #24973 · ArduPilot/ardupilot · GitHub

  • Copter yaw tune improvement
  • Merged!

UTC2353 - AP_Mount/AP_DroneCAN: Xacti accepts gimbal firmware version and status by rmackay9 · Pull Request #24996 · ArduPilot/ardupilot · GitHub

  • Xacti accepts firmware versions
  • Feedback on failure to take images
  • Merged!

UTC2354 - Copter/Rover update

  • Some Rover SCurve over-shoots
  • Copter beta is going well, release soon-ish
  • Rover release may be delayed to get pivot turns happy

UTC0000 - AP_TempertureSensor:clarify temp source for pitot tube by Hwurzburg · Pull Request #24986 · ArduPilot/ardupilot · GitHub

  • Clarify temp source for pitot tube
  • Our documentation is wrong here so we should just remove it

UTC0007 - Plane update

  • Descent in cruise mode in TECS was problematic
  • GPS rover update shouldn’t need to be 5Hz, perhaps loosen this restriction

UTC0010 - Update/correct DisplayPort BF MSP symbols by Hwurzburg · Pull Request #24999 · ArduPilot/ardupilot · GitHub

  • update/correct displayport BF MSP symbols
  • Different symbols should lead to better display
    • Older things probably not affected, these are ancient
  • New O3 goggles will currently have display issues, these will fix them
  • Having Henry have access to all of these goggles is great!

UTC0014 - ArduCopter: handle DO_PARACHUTE as both command_long and command_int by peterbarker · Pull Request #24970 · ArduPilot/ardupilot · GitHub

  • Parachute as command_int
  • Merged!

UTC0015 - Handle MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN as INT or LONG by peterbarker · Pull Request #24971 · ArduPilot/ardupilot · GitHub

  • Preflight reboot shutdown as command_int
  • Merged

UTC0017 - Plane: Accept MAV_CMD_DO_MOTOR_TEST as COMMAND_INT as well as COMMAND_LONG by peterbarker · Pull Request #24981 · ArduPilot/ardupilot · GitHub

  • Motor test as COMMAND_INT
  • MergeOnCIPass

UTC0017 - Tools: limit AFS to Plane and fix symbol lookup by Hwurzburg · Pull Request #25008 · ArduPilot/ardupilot · GitHub

  • Limit FS to Plane and fix symbol lookup
  • Merged!
  • Maybe dummy-class it?

UTC0019 - AP_AHRS: return location inside backend_results structure by peterbarker · Pull Request #25011 · ArduPilot/ardupilot · GitHub

  • get_location goes into the backend results structure
  • Rotation matrix should probably be the canonical entry into the backend data structure
  • Merged!

UTC0028 - AP_AHRS: make comment match code behaviour in airspeed DCM-fallback by peterbarker · Pull Request #25012 · ArduPilot/ardupilot · GitHub

  • Tidy EKF3 wind estimation calculation
  • Merged!

UTC0030 - AP_AHRS: simplify primary/accel indexes by peterbarker · Pull Request #25013 · ArduPilot/ardupilot · GitHub

  • Simplify primary/acel indexes
  • Merged!

UTC0034 - Move AHRS functions out of AP_AHRS_DCM.cpp by peterbarker · Pull Request #25016 · ArduPilot/ardupilot · GitHub

  • Move code from DCM library into AP_AHRS
  • Merged!

UTC0035 - Correct compilation with COMPASS_CAL_ENABLED off by peterbarker · Pull Request #25017 · ArduPilot/ardupilot · GitHub

  • Correct compilation when COMPASS_CAL_ENABLED is off
  • Merged!

UTC0037 - AP_AHRS: remove un-needed AP_AHRS_Backend::getCorrectedDeltaVelocityNED by peterbarker · Pull Request #25018 · ArduPilot/ardupilot · GitHub

  • Un-needed getCorrectedDeltaVelocityNED patch
  • Should we trim external?
    • Peter thinks not
    • We should comment it
  • Merge at will

UTC0041 - AP_AHRS: make a pair of methods static on AP_AHRS_Backend by peterbarker · Pull Request #25019 · ArduPilot/ardupilot · GitHub

  • Make some methods static on the backend
  • Perhaps make the wind estimation static too?
  • MergeOnCIPass

UTC0042 - Mamba F405 v2 fixes by andyp1per · Pull Request #25003 · ArduPilot/ardupilot · GitHub

  • MambaF405v2 fixes
  • Many little fixes
  • Merged!

UTC0044 - done

UTC0044 - P.S.

  • If you have logs on vehicles using ICM42688 there might be a hardware fault with this device
    • Please send tridge logs
    • Unexplained lane changes on boards using this e.g. CubeOrange
    • RAW IMU logs would be really useful
      • Batch logging is fine if raw not possible
    • Sensor repeats data for 8 samples?!
    • DC bias on gyro makes the EKF unhappy
      • The locking in on 8 samples-at-a-time is asymmetric!
    • Tridge has poked TDK on it
    • This is a premium sensor!
      • HolyBro, CUAV, CubePilot and many others all use this sensor!
    • Only have single IMU? You are toast!
    • Symptoms include small jerks
    • Stiction effect?

UTC0049 - GPIO issues on Linux HAL

  • Richard is looking at them
  • Add semaphores?
  • Willian to sign off on any PR change for this as Navigator will be impacted

UTC0055 - close