Dev Call Sept 18, 2023
September 18, 2023, 10:56pm
Issues & Pull requests
Copter & Rover
September 20, 2023, 4:09am
Attendee count (max): 16
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?
” as a nice user experience
Screen-capture of real tool makes for a good thumbnail thing
For Tom to look at
Can’t really move the mirror stuff out of can.cpp
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
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
AP_Periph: add AP_PERIPH_SAFETY_SWITCH_ENABLED by magicrub · Pull Request #24900 · ArduPilot/ardupilot · GitHub
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
PID notches and D feed-foward by andyp1per · Pull Request #24411 · ArduPilot/ardupilot · GitHub
T vs E?
What’s the conclusion from Leonard’s comment?
D is a good change
Input shaping will need it
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
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
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”
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
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?
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?
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:
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.:
, isn’t it the case that you’d automatically want to notch out RPM*
[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:
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
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
Tools: SITL default copter yaw tune improvement by rmackay9 · Pull Request #24973 · ArduPilot/ardupilot · GitHub
Copter yaw tune improvement
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
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
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
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
New O3 goggles will currently have display issues, these will fix them
Having Henry have access to all of these goggles is great!
ArduCopter: handle DO_PARACHUTE as both command_long and command_int by peterbarker · Pull Request #24970 · ArduPilot/ardupilot · GitHub
Parachute as command_int
Handle MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN as INT or LONG by peterbarker · Pull Request #24971 · ArduPilot/ardupilot · GitHub
Preflight reboot shutdown as command_int
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
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
Maybe dummy-class it?
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
AP_AHRS: make comment match code behaviour in airspeed DCM-fallback by peterbarker · Pull Request #25012 · ArduPilot/ardupilot · GitHub
Tidy EKF3 wind estimation calculation
AP_AHRS: simplify primary/accel indexes by peterbarker · Pull Request #25013 · ArduPilot/ardupilot · GitHub
Simplify primary/acel indexes
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
Correct compilation with COMPASS_CAL_ENABLED off by peterbarker · Pull Request #25017 · ArduPilot/ardupilot · GitHub
Correct compilation when COMPASS_CAL_ENABLED is off
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
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?
Mamba F405 v2 fixes by andyp1per · Pull Request #25003 · ArduPilot/ardupilot · GitHub
Many little fixes
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
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
UTC0049 - GPIO issues on Linux HAL
Richard is looking at them
Willian to sign off on any PR change for this as Navigator will be impacted
UTC0055 - close