Dev Call Mar 19, 2018 2300 UTC

Issues & PRs

Need Reviewers:


*Last week for GSoC student submissions. We have 8 submissions so far. Presumably more will arrive this week.



  • Peter / Paul are working on adding support for vision-position-estimate to our EKF. this is the message that everyone wants when providing position estimates from ROS


  • Rover-3.2.2 has been released
  • Tested Boat (as people probably saw from my blog post).
  • We need to add “heading hold” to the turn-rate controller to reduce weaving between waypoints (I think)


  • Copter’s New Loiter is in master finally. all testing is appreciated. I hope we can start beta testing of Copter some time next week.


  • Booth update

ArduPilot Dev Call 2018-03-20

Attendee count (max): 27

UTC2301 -

  • delay() vs millis()
  • Just remove the code!
  • Tridge force-pushed up the suggested fix to night-ghost’s PR to clarify what we meant by “just remove it”

UTC2304 -

  • MAVProxy will need fixing
    • Don’t believe any other GCS uses the field
      • MP does use it
        • And it will cause compatibility issues
          • MdB thinks this is the wrong spot for it
        • We will use a mavlink2 field which has target_airspeed in it
          • Minimum value of 0.01
          • 0 has to be a value in an extension
          • -1 means 0?
        • Use a mav_cmd_fixed_airspeed?
        • Randy votes for breaking everything
        • Tridge says we should have target airspeed as a field
        • Target_airspeed and target_groundspeed
          • Target_speed_type instead?
          • target_speed_frame?
    • Tridge will fix MAVProxy
  • This will make us work according to spec
  • We will come back and fix the original field later once all the GCS are using the new fields
    • [10:18 AM] (Channel) MdB: or should we just fix the field first? If michael’s willing to deal with it then why not?
    • TP: at some point we’ll have a version 4.0 which we’ll break some params and make everything standard units
      • This was in response to Nathan’s request to change the units on some ArduPilot parameters

UTC2319 -

  • Weight-on-wheels sensor
  • Good thing to have in Ap_Landing
    • Only used in landing on Plane
  • Use weight-on-wheels in is_flying on land and ap.is_landed?
    • [10:20 AM] (Channel) MdB: true actually
    • [10:20 AM] (Channel) MdB: hadn’t considered that yet
    • [10:21 AM] (Channel) MdB: peters point means we shouldn’t move it
  • We’ll do an AP_LandingGear as a top-level library rather than moving it into AP_Landing
  • Need debouncing on the GPIO pin
  • negative-G triggers?
    • Only used on landing ATM to kill yawing

UTC2322 -

  • Radio packetsoup - wouldn’t know which link you’re talking about
  • Could end up with a loop
  • Could throw parameters at the problem
  • Consider this problem in conjunction with the radio-packets-are-only-v1 issue
    • Radio packets are produced under mavlink2 but are specifically marked as not requiring
      • MdB: Oh? It does? Will have to check I thought I was getting them as mav1
    • No, SiK firmware understands v2 heartbeats but only sends v1 radio packets
  • Add extra mavlink2 field for hop count?
  • Add OSD serial protocol to solve immediate problem?
  • SERIAL1_OPTIONS parameter AP_Int32 for controlling options
    • Steal a bit for forwarding radio packets
    • MdB: Do you add one per port?
    • [10:33 AM] (Channel) MdB: Otherwise you still cant do 2 sik and 1 osd
    • [10:33 AM] (Channel) MdB: I mean you can’t do 2 sik and 1 osd anyways…
    • Scribble down the lowest-number-link you’ve forwarded a radio packet for and nly send packets through from that?

UTC2339 -

  • Force addition of non-standard units to variable names
  • Amilcar wants to add units to everything
    • Including e.g. _m for metres
  • Tridge doesn’t want a cascade of required changes
    • Only enforce on interfaces, not internally
    • E.g. tridge thinks it would annoy people if they had to append _rad to everything
  • [10:42 AM] To Weekly devcall: Random thought: could have specific Vector3f’s for e.g. neu_m?
  • MdB: those get very very verbose though (for GPS for example)
  • Randy points out the previous agreement was not to label base SI units e.g. not label metres
  • [10:43 AM] (Channel) MdB: get_altitude_ellipsode_m_egm96() is a no go
  • Pos control in cm is a pain
    • [10:44 AM] To Weekly devcall: Now new loiter is in - why don’t we fix that? :slight_smile:
  • MdB: yeah I’m just noting that I’m getting very very verbose units if I include the rest of the important info
  • [10:44 AM] (Channel) MdB: we actually do have crossover with this problem (on altitude references)
  • [10:45 AM] (Channel) MdB: which is my question :slight_smile:
  • We currently have an unholy mix of units with no marking
  • Angles?
    • Centidegrees vs degrees vs radians
    • Also have 0-360 or -180-180!
    • MdB: yeah that one has bitten me a lot
  • Use type system?
    • Strict checking requires structs or classes and that’s a pain
  • [10:51 AM] (Channel) RM: AC_PositionController please!
  • [10:52 AM] (Channel) MdB: pick libs that have few/small pr’s open?
  • Don’t use the NFC tag?
    • It causes people to skim things rather than review them properly
  • When not to use metres?
    • When you’re trying to save space
    • Not reasonable to say all variables should be in SI
    • Needs to be a good reason!
  • Tridge doesn’t like radians in interfaces
    • Easier to debug in degrees vs radians
    • But need to know it’s degrees or radians regardless!

UTC2355 - battery update

UTC2357 - GSoC with Jaime

  • Applications close 27th
  • Jaime would like our specialists to look at some of the applications
    • E.g. adding stuff to GCSs
    • E.g. adding 3D mode to Plane
    • E.g. autorotation
    • E.g. video over WiFi
  • MdB: Do I need to be listed as a mentor for that?
    • Jaime can add people so they review the applications
  • Gah! Final proposals! Can’t be modified after comments. But could submit more than one.
  • Currently have 9 proposals in

UTC0006 - patches to support newer compilers

  • Thanks Holger!
  • Flight testing required
  • Flash size reduced a little

UTC0007 - D-Shot

  • Dominant in lower end of market
    • CAN at top of market in the future?
  • Tridge has code to allow configuration of ESCs via the autopilot
    • Will be adding capability to upgrade firmware in the future
    • And support for the telemetry protocol
  • Will be doing Chibios releases forboards we haven’t traditionally supported
    • A few months yet

UTC0011 - discussion of various VICON mavlink messages

  • [11:19 AM] To Weekly devcall: Everyone failed to take notes while I was talking :slight_smile:
  • [11:19 AM] (Channel) MdB: peter: I was thinking it was unfair you were trying to talk since no notes would occur :stuck_out_tongue:
  • Peter is working with randy and Paul on getting this PR’d
  • Later will support monocular slam

UTC0020 - Rover 3.2.2 should be out

  • But there’s an issue with the build server?

UTC0021 - new Loiter

  • Post on Discuss with any issues

UTC0022 - skid-steering boats

  • Work well
  • Need help with heading hold
  • Weaving
    • Heading-hold layer required?
    • As rate requests come in we integrate into a desired heading
      • Copter has this
      • Leonard doesn’t think this is required
        • I-term tuning?
  • Related to traction control?

UTC0024 - AUVSI booth update

  • Meeting in 30m for people that will be in the booth
  • New partner coming in so they can share the booth
  • Booth 3442
  • Design-work will be finalised tonight
    • Will be shared with group once it is finalised
  • Tom will be there
  • Exhibitor badges don’t get you in to talks
    • Discount package available
  • Funding from AP side?
    • Funding committee is waiting for a proposal to be put forward
      • Funding team has said something they would probably approve
    • Otherwise costs have been split between involved
  • Marketing materials?
    • Still up in the air
    • Good slideshows required
    • Flyers?
    • Do we want to do schwag?
      • No choices made yet
        • MdB: Relates heavily to the funding side hence why I’m asking
    • Dropdown banner?
      • Jaime has it
  • SpektreWorks plane flying on rigging?

UTC0039 - Shenzhen

UTC0041 - Marketing team

  • Reduce number of people involved?
  • Needs to be formalised
  • Specific responsibilities
  • Randy is planning on raising a vote
  • Dealing with regulatory authorities

UTC0043 - FAA

  • Section 366 model exemption is probably gone in 3-5 years
  • FAA “Offended” by lawsuit they lost
  • Becoming industry-focussed
    • Hopefully faster implementation of things
  • remote-ID and UTM interfaces?
    • Lots of bad technical information being fed in by various lobbying agencies
    • Group of people met after latest meeting
      • How to work around proposals?
      • JW is working on some hardware for it
    • LTE modem is apparently the suggestion
    • “Cellular technology association”
      • Much lobbying
      • “Encouragement money”
  • BVLOS?
    • Working group independent of the FAA
      • Unmanned systems working group
  • Three parallel tracks meant sitting in on things was problematic
  • Amazon and google gave keynotes
  • Many panels
  • “Air mobility” / “air-taxi” regulations are starting to be looked at
    • Spectrum questions
    • Technical burdens to implementations
  • James and Philip are working with Oz government
  • FAA thinks they’ll be setting the rules
  • Rest of world will probably do it and the FAA will follow from behind
  • Need to work out who else in AP community can work with authorities to help shape policy
    • Luis works with people in PT / EASA

UTC0049 - vote closes for top contribution

  • Congrats Yaapu!
  • Olivier to blog it

UTC0051 - scripting

  • “See what sticks” list

Just a word of caution on WoW algorithms. I’ve worked in avionics for a while and MANY systems look at the WoW signal for whether it can turn off, turn on, change modes, etc.
However, on systems which land in austere conditions, you need to have some logic in the code which doesn’t immediately activate modes based on WoW state change. An airplane can be rolling down a bumpy strip fast enough for that WoW signal to be temporarily tripped causing mode changes you don’t intend. Additionally, many newer aircraft rely on multiple WoW sensors to determine which wheels are off the ground.

I’m sure there are smarter people than me working on this, just wanted to share some experience.