Dev Call Oct 18, 2021

Issues & Pull Requests




Attendee count (max): 18


  • Peter Hall’s ArduPilot Water GeoFence Database
    • Lots of screen-sharing for this bit!

    • GitHub - IamPete1/FenceGenerator: Filter OSM file for areas with given tags, then generate, simplify and export as ArduPilot Compatible Geo-Fence waypoint files

    • Pre-generated fences to upload to ArduPilot for all fences in Europe

      • Including exclusion zones
      • Has to simplify to 250-odd points
    • Web-site tools

    • Fences for the whole world

    • OpenStreetMap is a big list of XML

      • Names lines tags and stuff
      • Reference numbers
      • Linked together with nodes
      • Here’s a lake and here’s the point
      • Searched for Land use reservoir or pond or …
      • Loads of tags
        • Airports
        • Roads
    • Coastline data set?

    • Openstreetmap data explorer

    • Fence builder python

    • Dynamically simplify?

    • Already have terrain database (non-zero value)

    • Ocean trips avoid fence by looking ahead in terrain database

      • Terrain database is crap for lakes
      • Coastline might work OK
    • Josh Henderson: cfd & FEA code must do the simplifications for polygons you are talking about to keep nodes in interesting areas

    • Tide?

    • Bendy-ruler might do well, dijkstras might have issues with all of the simplification going on

    • High reservoir levels vs low reservoir levels

    • Area threshold

      • Most lakes too small in England
      • Limit mainly for website
    • Need more than 250 points for a lot of them

    • Future steps?

      • Peter is looking for help with the website
        • “Kind of rubbish”
      • Note live yet
      • Download osm file, run generator, run app
      • We should make it live like the terrain database

UTC2316 - Frontend proposal for C5 shutdown by brunoolivieri · Pull Request #2859 · ArduPilot/ardupilot_wiki · GitHub

  • Shut down concrete5
  • New frontend proposal
  • Demonstration:
  • PRs against our Wiki server to make changes to front page
  • Copies files into right destination
  • Looks good on mobile
  • Menus aren’t a problem
  • Home link goes to a weird place
  • Stores link needs fixing
    • Need Wiki page links for the most parts
  • Kind of need a twit-in-chief as we’re garbage about putting stuff on Twitter
  • Switch when links are fixed
  • Use case page should really be a Wiki page
  • Move blogs to top

UTC2331 - Discussion on Backporting Criteria

  • Beta testing 4.1.1 for Copter and Rover
  • Many requests from various developers to include this that and the other
  • We don’t have criteria
  • Up ‘til now if it has been tagged it has been included
  • A lot of non-critical stuff was included
    • E.g. ESC telem during compassmot
  • Should we have a merge window strategy?
    • Accept new features during this period
    • Another period of same length to do stabilization and bug fixes
    • 4 month cadence?
  • Many large changes have come in within the beta period
  • We’d be in the “open window” phase now
    • We’re accepting completely new features
  • Adding a new hwdef.dat could be accepted at any time?
    • Can’t affect other things
    • But might still expose problems
      • E.g. bodgy IMU workaround
    • Backporting something like ModalAI would be tough as it required ChibiOS changes
  • A vote to move to a timed release schedule?
    • More frequent releases
    • 2 months + 2 months?
      • Too short
    • Maybe 3+3
    • Randy: Releases take a huge amount of effort
      • Gets a huge amount of help but it still a huge amount of work
    • So three months from when 4.1.0 came out
    • June/December releases instead
    • April/October
    • Structure around developer conference
    • Dev conference tends to prompt rapid development
  • Merge window opens when branch is made?
  • “Stabilise master” period where we avoid large structural changes
  • Rebasing?
    • Need to keep master stabl-ish to allow this during early beta period
  • An ardupilot-next?
  • Build server to be able to build branches
    • Esp allowing rebase
  • General agreement on a 3+3 model
    • So 2 releases every year
  • Implications for having more releases more often
    • Backporting to more stable branches
    • Deltas will probably be smaller
  • 3+3
    • Or 4+2?
    • We’ll try 3+3 for the time being
    • Might change it in the future
    • Gives a stick to beat people with, “no, merge window for massive changes is closed”
  • We’re improving our tools well with the code
    • E.g. EK3 and Replay
  • 8th Oct to 8th January for merge
    • 8th April for release
  • Need a diagram
  • Need a blog post for this
    • Get the information out to partners
  • :56 AM] rmackay9: So I think we close the merge window on Jan 1st with an aim to release AP-4.2 on April 1st
  • [10:57 AM] Craig.Elder: That will make for the first April fools joke!
  • [10:57 AM] rmackay9: Then the next merge-window-closing would be Oct 1st. With AP-4.3 release on Oct1

UTC2354 - ESP32 board development

UTC0008 - Rover: Specify the process by muramura · Pull Request #18245 · ArduPilot/ardupilot · GitHub

  • Randy will look at this
  • Just add a return

UTC0010 - Copter: Change the auto mode judgment to address by muramura · Pull Request #18511 · ArduPilot/ardupilot · GitHub

  • Uses pointer comparison rather than numbers
  • Randy will look at

UTC0011 - AP_Arming: check min heater temp by IamPete1 · Pull Request #18640 · ArduPilot/ardupilot · GitHub

  • Min heater temp as a margin
  • Turn this off if you have temperature calibration (or set a wider margin)
  • Merged

UTC0016 - AP_RangeFinder: output dist in meters float by squilter · Pull Request #18829 · ArduPilot/ardupilot · GitHub

  • Distance in cm to distance in m in rangefinder
  • Fabs should be fabsf
  • (float)sum → float(sum)

UTC0025 -

  • Move airspeed to AP_Vehicle
  • 100ms phase lag is bad
  • AP_Vehicle tasks all last ATM?
    • TECS update will work on 100ms old data
  • Leave scheduler task per-vehicle
  • New “convert class” thing
    • Needs eyes

UTC0033 -

  • Could test Josh’s stuff…
  • Moves SITL object up

UTC0036 -

  • Needs testing on hardware
    • Peter doesn’t have hardware

UTC0040 -

  • Plane 4.1.2

  • Is released

  • People seem happy

UTC0041 -

  • Copter update
  • New beta is out with tradheli landing detector improvement
  • 4.0.8 went out too for tradheli only
  • Tell Randy of any 4.1.1 issues

UTC0042 -

  • 4.1.1rc1 is out

UTC0043 -

  • Relax arming checks
  • Randy will look at this

UTC0045 -

  • Move send_position_target_global_int and send_position_local up into GCS_Common
  • Adds info for accels/vels etc up
  • Different vehicles move differently…
    • How does it make that distinction?
  • Need to make sure vectors sent to GCS
  • Need to test with MAVProxy
    • MissionPlanner doesn’t do vector length appropriately
    • MAVProxy displays all the information….
  • loiter/guided/landing all have some trickiness in terms of targets
  • Mavlink sending code goes into common, vehicle provides actual data
  • Many changes to test suite
    • More terrain stuff
  • Test circle and guided mode in Copter
    • Vector pointing to middle of Indian Ocean is bad
  • Yaw and yawrate for targets is complicated…
    • Need comments…
    • Add more methods onto the Mode object
  • Messages are pure echo?
    • Extension on the message indicating what the vehicle is actually doing?
    • Equal last command?
      • Only if returned immediately after that last command
      • Timestamp of last command?
      • No, we should send back what we’re going to do
      • If it is sensible it should be an echo
    • Probably need to bring this up in mavlink/mavlink

UTC0059 -

  • AP_IntertialNav clarify 2D vs 3D uses and get_bearing_cd() takes Vector2f
  • Don’t virtual
  • 100% split-up of xy and z
  • Z-positive-up sucks
  • Get_z_velocity_up instead
  • Leonard’s keen on naming in here
  • Maybe a pass through to add cm?
    • And up


  • Broken in a lot of cases
  • Whitelist works a bit
  • Whitelist doesn’t work across includes
  • APM_BUILT_TYPE was only supposed to work in cpp files
    • Exceptions were added
  • Open Season?
    • Multiple .h included with different
    • Lots and lots of time if we allow this in headers
      • Just make that one compiled on all vehicles
    • Config.h per vehicle → ifdefs done at HAL level
    • Config.h is problematic….
    • HAL_FENCE_ENABLED gets defined in AC_Fence.h
  • 12:25 PM] Buzz: do we need to subclass Logger amd/or Serial driver?
  • [12:25 PM] Buzz: CopterLogger, etc
  • AP_AirSpeed
    • Plane needs airspeed no matter what so can’t use minimize-features
  • Problem PRs:
  • Stub implementations instead?
  • Peter, Peter, tridge should talk
  • Vehicle macros list and whitelist interaction?

UTC0130 -

  • Compass_bat_mask
  • 5 battery monitors?
    • 2 for vtol motors….
    • Need current for both vtol motors
  • Can’t use compassmot because it only does the first battery
  • This allows a bitmask to be set to allow specification of which backends to sum
  • A new battery backend which gives you an aggregate value?
    • I.e. takes a bitmask
  • Weird arrangements are common in current/voltage
  • This solves a specific problem….
  • DevCallEU for this one
  • PH’s solution would have a mask for battery motors for every consumer?
  • Thrust voltage scaling is also an issue here
    • Current-limiting side of things

UTC0147 - close