Dev Call Jan 9, 2023

Issues & Pull Requests


Copter & Rover

Error in the Copter& Rover issues list, showing plane instead :slight_smile:

1 Like

Attendee count (max): 19

UTC2300 - waf: add -fcheck-new to g++ build by tridge · Pull Request #22614 · ArduPilot/ardupilot · GitHub

  • Fix nullptr checks on anything using new() in our code
  • Out-of-memory checks not working
  • Real surprise to us
  • Compilers are allowed to optimise-out nullptr checks for the new call
  • Running out of memory is going to go very poorly for you.
  • If you have a branch your want this patch
  • On H7 you might see an internal error for a write into the 1023 bytes past 0x00000000
  • On F4 you’d get a watchdogt for an out-of-range write
  • H7 has a very large chunk of memory at 0x00000000
    • We add a 1kB detection buffer there to detect writes to a nullptr object
  • We haven’t seen evidence of this on H7 crash logs
    • What percentage of watchdogs actually get reported?
    • Unsure
  • Loading a very large geofence could cause a watchdog
  • Enabling Plane autotune
  • Run-time (re-)detection of a GPS could do it
  • There was some debate as to whether this should go into 4.3.3
    • You can easily contrive means to crash the autopilot
    • We’ll be crossing more code which we weren’t in the error paths
    • But these paths are unlikely to be caught in master if there are problems anyway
  • This bug only happens when you’re using new()
  • Some GPS drivers were removed on 4 boards
  • No major reworks required, ‘though
  • This will be backported to 4.3
  • Trivial to cherry-pick to 4.2
    • Maybe for individual vendors
    • Drop a message on partner’s chat?
  • If you have a custom branch which is slowly leaking memory this could be bad
  • Tendency to not allocate memory in-flight…

UTC2319 - AP_Scripting: added example for generator throttle control by tridge · Pull Request #22336 · ArduPilot/ardupilot · GitHub

  • Generator throttle control based on battery voltage
  • Merged!

UTC2320 - AP_Scripting: added example for generator throttle control by tridge · Pull Request #22336 · ArduPilot/ardupilot · GitHub

  • Align member structures to save flash
  • Vast amounts of flash!
  • 6.5kB on Plane / Durandal
  • Try to make this stuff common?
    • #define PARAM_VEHICLE_NAME plane
  • Pete will move up to common somewhere

UTC2326 - AP_AHRS: break out an AP_AHRS_config.h by peterbarker · Pull Request #22575 · ArduPilot/ardupilot · GitHub

  • Make an AP_AHRS_config.h
  • Merged!

UTC2327 - Plane: added TKOFF_THR_MAX_T for non-airspeed takeoff by tridge · Pull Request #22584 · ArduPilot/ardupilot · GitHub

  • Use synthetic airspeed during fixed wing takeoff
  • Special-case code for airspeed
    • We force full-throttle
  • After this we enable synthetic airspeed for takeoff
  • Paul has some issues which will need some discussion

UTC2331 - AP_Scripting: added fixed wing boost motor example by tridge · Pull Request #22585 · ArduPilot/ardupilot · GitHub

  • Fixed-wing boot motor
  • Estop won’t work?
    • A binding for a script to say “this channel is a motor”?
    • A new binding for “should we be running motors?”
  • This replaces a direct passthrough of an RC channel through to a servo channel
    • So it’s really no worse than what they’re currently doing
  • Timeout stuff means it might be better for “this channel is a motor”
    • Throttle suppression might work for this?

UTC2336 - AP_OSD: rework param defaulting by IamPete1 · Pull Request #22595 · ArduPilot/ardupilot · GitHub

  • Fixes defaults in AP_OSD
  • Testing?
    • Andy and Pete have tested

UTC2343 - Make AP_Param::check_var_info void (die-early, die-often) by peterbarker · Pull Request #22597 · ArduPilot/ardupilot · GitHub

  • Have check_var_info die early
  • Makes debugging parameter tree problems much easier
  • Merged!

UTC2348 - emit SIM_ parameters along with everthing else by peterbarker · Pull Request #22602 · ArduPilot/ardupilot · GitHub

  • Adds SIM_ parameter metadata to the data being generated on our build server
  • Help will be available in MissionPlanner and MAVProxy
  • MergeOnCIPass

UTC0052 - Copter: Use filtered and corrected range finder in surface tracking by lthall · Pull Request #22611 · ArduPilot/ardupilot · GitHub

  • Corrected vs uncorrected altitude fixes in rangefinder
  • Fixes very noisy rangefinder surface tracking
  • Surface tracking suffers from lag a bit
    • When climbing or descending you can’t filter the lidar heavily without getting heavy delay in rangefinder
    • If you filter expected ground height then you won’t get the same overshoot
    • Scale filter based on speed
      • Filter less at high speeds?
    • EKF terrain predictor does something?
      • There’s a terrain height estimator
      • Will lag behind actual height
        • Doesn’t use gradient data, which it should
        • Rejects outliers on rangefinder
        • Terrain position relative to the EKF’s zero-height datum
  • Leonard wants to measure local terrain slope with a trio of rangefinders
    • Magnetometer-flying on 60-degree gradients
    • Use optical sensors instead?
  • There’s no hand-over from rangefinder to terrain database
    • Asked for a hundred times
    • The two things can be very different
    • So environment-dependent
    • E.g. flying over trees
    • Terrain-following at 1 or 2 meters
  • 10:56 AM]Peter Hall: I would love to get this working with multiple rangefinders too.
  • [10:56 AM]Peter Hall: Also shared with plane…

UTC0106 - Copter: Allow arming if WP uses rangefinder as terrain source and terrain database is disabled by rishabsingh3003 · Pull Request #22613 · ArduPilot/ardupilot · GitHub

  • Allow arming in face of using rangefinder as data source and terrain database disabled
  • MegeOnCIPass
  • Will be backported

UTC0110 - common.xml: add remote id system failure to MAV_ODID_STATUS by bhiln · Pull Request #300 · ArduPilot/mavlink · GitHub

  • Add missing value to the mavlink XML
  • Merged!

UTC0111 - Plane: stable 4.3.x issues list · Issue #15941 · ArduPilot/ardupilot · GitHub

  • New 4.3.3 beta ready to go out
  • Today!
    4.3.3 will go out next week ,probably
  • Quite a few fixes, more than expected
  • Some unfixed e.g. using synthetic throttle in takeoff
  • Not able to descend in qland
    • Amount of energy going in to stabilize vehicle made it go up
    • Maybe reduce smax?
      • It was set to 50 as essentially infinite just to trigger the logging
      • Maybe to 25?
      • Under 10 is typical in-flight
      • 5 is the quicktune limit
      • Is halving the right thing to do to target gain?
        • There are other ways which can be investigated
        • Dmode is available so the little function that changes the gains could look at it
        • Or we could do it in PID loop only based on the dmod value?
          • It moves slowly so use previous loop’s dmod
          • It’s already in the PIDInfo structure
            • Would also affect fixed-wing flight
        • Maybe also reduce feed-forward by sqrt of dmod?
    • Tridge will raise a PR to get shot down
    • Should we reduce the xy gains of the position controller when activating dmod?
      • Otherwise we might be driving things up at a different layer
        • Leonard doesn’t think so
          • Pushing position controller loops up so tight that it matters is probably a bad configuration
          • Should already be a significant gap between pc and the rate-loop gains already
  • [11:23 AM]MichelleR: Maybe we need some kind of “if all else fails” stopper for land mode - eg if it’s in land mode and hasn’t come down after a while, reduce the max throttle that any individual motor can go to - because it’s not just PID tuning that can cause a climbaway?
  • [11:26 AM]Leonard: We have that in copter already.
  • [11:26 AM]Leonard: If we climb against the controllers we reduce mix min to prioritize throttle.
  • [11:28 AM]MichelleR: Doesn’t that still let the roll & pitch controllers possibly set individual motors too high if their tuning is bad? As happened on the quadplane we were looking at? Or is it not active for quadplanes?
  • [11:29 AM]Leonard: No, it can potentially pull everything to zero.
  • There’s a multiplier in Copter controilled by poscontroller which an reduce the thrust to zero
    • To handle fly-away situation

UTC0125 - Copter/Rover-4.3 issues list · Issue #21711 · ArduPilot/ardupilot · GitHub

  • Really down to just Rover issues now
  • New Copter beta to go out today
  • Will sit out there for a couple of weeks before release
  • 25 PRs included!
  • We’ll start 4.4 beta testing soon after this stable goes out
    • Would’ve loved to have done it by now, but we’ve got to get the 4.3 out first!
  • Randy suspects there might be a 4.3.4…
  • Rover’s still in purgatory

UTC0125 - conference

  • Get accommodation sorted
  • Get travel sorted
  • Share-houses / airbnb might be a nice thing to do
  • 11:33 AM]Peter Hall: We now have flights booked!
  • Sharing cars etc might work
  • Good Uber in Canberra too

UTC0134 - close

Shawn did you get a PM from me?

Hi Craig, yes, just replied now, sorry I missed it earlier.