Dev Call Mar 12, 2018 2300 UTC

New meeting order

Welcome Chris Olsen and Bill Geyer

Issues & PRs





UAVCAN Pending PRs

General

  • new script database: start filling with ideas then replace with scripts
  • ChibiOS dshot
  • ChibiOS bootloader
  • MAVFTP

GSoC

  • students can now submit their applications to us

Copter

  • 3.6 beta test may start in 2 weeks

Rover

  • beta test has started for Rover-3.2.2-rc1
  • New Loiter will hopefully go into master this week, last chance for people to check the PR!

Attendee count (max): 25

UTC2301 - Pre-meeting discussions

UTC2303 - new meeting order

  • Issues and PRs at start of meeting
  • Updates afterwards

UTC2303 - new tradheli maintainers

  • Bill and Chris
  • Welcome!

    UTC2304 - https://github.com/ArduPilot/ardupilot/pull/7894
  • Align heli code with multi code
  • In particular the spool-state within the motor’s library. States include throttle-unlimited / spin-when-armed, etc
  • There’s a question as to whether spool-when-armed is a good name for one of the states. In multicopters the motors spin, in helicopters it’s a warm up before the motors spin.
  • Added function to return spool mode
  • Trying to eliminate as many #if statements as possible
  • Changed things so you can wait until you’re in unlimited rather than simply looking at armed state
  • Big multis also need to wait for spool-up like helicopters.
    • Currently you can have control issues as you can take-off while still not fully spooled up
      • So multis are benefitting from these patches too
  • Randy and Leonard will be sitting down and looking at the patches
    • Hoping to have it ready for review for master in a couple of hours
  • Q: are we losing the ability to recover quickly after motor is disabled and then re-enabled in flight because the ramp-up will slow this down?
    * Actually, it does; setting ramp time to 1 second and spool-up-time in the esc at 10 seconds
    * ESC handles it
    * ESC has slow-start feature where you must ramp the throttle over time
    • Answer: The goal of these patches is to have no functional changes from 3.5.5 to 3.6.
      • RL will talk to Chris and Bill so they can understand why some decisions have previously been made
  • Need to handle the no-rotor-RPM-meter case
    • Some sort of model required to estimate what the rotor speed actually is
    • Couple of parameters?
  • [10:19 AM] (Channel) JW: OooO I didn’t know they had a clutch
  • [10:19 AM] (Channel) JW: I thought it was a constant reduction
  • [10:19 AM] (Channel) RL: Most have a one-way except for very small helis
  • Multi code should support all the features of helis
    • We learn a lot about multis (including safety features) by making the codepaths as similar as possible
  • Q? Has interlock feature been modified? current spool mode interactions need explaining
    • Interlock would set landed flag immediately previously
      • This has been changed
    • A. Need a clear specification from the heli users as to how interlock should work
      • Including transitions between spool states

UTC2311 - https://github.com/ArduPilot/ardupilot/pull/7849

  • Mavlink extension for transfering total number of feedback events
  • Allow autopilot to track number of feedback events the autopilot has received
  • No way to tell on GCS how many camera feedback events have actually occurred
    • Due to lossy links
      • You can’t tell the difference between lost packets and lack of feedback events
  • Uint16_t big enough?
    • 4fps for 4 hours
    • GCS could look for wrap itself
    • Current message already has a 16-bit integer in it
  • Multi-camera
    • Need support on ArduPilot side
  • Mavlink side merged!

UTC2330 - github.com/ArduPilot/ardupilot/pull/7213

  • MdB asks for someone to look at it!

UTC2330 - https://github.com/ArduPilot/ardupilot/pull/7861

  • Any argument for keeping this code
    • It’s already merge
  • Tridge wants it removed because it might spit out bad binaries and no core devs would notice because nobody flies AVR boards
  • [10:31 AM] (Channel) JW: It’s confusing to newcomers looking into the code
  • [10:31 AM] (Channel) JW: That’s my main argument to get rid of it
  • If we need to do an APM release we’ll do it by hand
  • The appendix of building binaries based on a branch-name suffix will stay until it hurts

UTC2334 - https://github.com/ArduPilot/ardupilot/issues/7732

  • Should we remove the dev-call tag?
  • Someone to close this issue off as a “this is the way it is” resolution

UTC2335 - UAVCAN pending PRs

  • Eugene has a 100% CAN aircraft
    • He’s happy to do flight testing on Tuesdays (European time)
  • Weight-on-wheels patches
  • MdB has concerns about the interval between PR and merge
    • Tridge e.g. Blending of airspeed sensors
      • Would like a heads-up on core plane functionality PRs
      • Tridge did look over it and found some stuff that doesn’t make sense
        • E.g. uses wind estimate to enable/disable airspeed sensor
          • But the airspeed sensor is used to create the wind estimate
        • May cause airspeed sensor to be disabled and the DCM estimate to be used
  • Which PRs?
  • More testing of these UAVCAN changes
    • Make sure stuff boots!
    • TomP, Nate happy to take on this responsibility
    • Funding committee will probably approve UAVCAN hardware for testers
      • Tom will just buy one
      • Someone should put in a funding request for Nate to get HW for this
      • Philip will talk with Nate and Tom
  • Can Here2 be used for testing?
    • Bootloader is functional
    • But not usable as UAVcan GPS/compass ATM as no firmware
    • Zubax might be best test candidate for hardware ATM
    • Emlid also have a unit
      • Part of the Edge product
      • [10:50 AM] (Channel) JP: the V2 is an M8Q, not M8P fwiw
        • Back-to-back testing of Here2 with Zubax would be a good way to develop
  • RM: we know UAVCAN is important because it’s on the roadmap
  • MdB: We also don’t have any support for sending correction data over CAN
  • Q? Who is responsible for writing Here2 UAVCAN firmware? A: Yes, Jonathan, Sid, etc doing it.
  • OMD - Jani’s started to look at doing this
    • JC and SP are looking hard at OMD ATM
  • Bits missing in AP to work with CAN devices
    • Ability to bootload
    • Mavftp
      • Philip should raise an issue
    • Maybe make the PixHawk look like a thumb drive instead?

UTC0000 - Tridge has been working on a ChibiOS-based bootloader

  • OMD already has a bootloader?
    • Bare-metal, probably?
  • Tridge wants to use hwdef.dat to create bootloader
  • Need to stick to 16k for F4
  • Sectors on F7 are 32k
  • current bootloader is based on Libopencm3
  • 3k for bootloader logic
    • No room for CAN + USB + serial

UTC0004 - Tom / new script database

UTC0013 - GSoC

  • Submission period has started
  • Students are able to submit proposals
  • Still don’t know how many slots we have
  • We need students to submit draft proposals!
    • Submitting final proposals is bad!
  • Need to be able to comment on any google documents too!
    • So we can give feedback on drafts
  • pdf documents are not a good solution as they can’t be commented on

UTC0015 - Randy and Copter/Rover announcements

  • (should anybody be able to make “announcements”?)
  • Rover testing for 3.2.2 has started
    • Loss-of-steering fix
  • New-loiter is ready to go into master
    • Tridge wants to look over it
    • We’ve lost use of one of the parameters we use in Plane
      • Q_trans_decel when entering loiter
        • How rapidly the aircraft can decelerate
          • To avoid rearing up problem with quadplanes
            • Reversing is bad
              • Control surfaces reverse
      • Leonard will work on
      • How does it find Target position after fast-forward flight?
        • LH: “correctly”
        • LH and tridge will discuss
  • Copter 3.6 beta testing start
    • Get stuff in if you want it in!

UTC0021 - Plane 3.8.5?

  • Here-compass fix
  • Hopefully within next week

UTC0023 - tridge and S.BUS HAL/PX4

  • Parity bits are not checked!
  • Horrible protocol
    • Which we must support
    • Header bytes in middle of frame is just fine
    • No CRC
  • NuttX doesn’t support parity bits
    • You will get crap RC input
    • Including latest version
  • ChibiOS implements correctly
  • Raw dsm has no checksum
  • Air-packet has checksum
    • But stripped before sending over uart
    • Blame Spektrum
    • MdB: my comment is more that you should never accept the first DSM packet. You should require one withing 30 ms before accepting :stuck_out_tongue:
    • [11:25 AM] (Channel) MdB: Otherwise static can convince NuttX to think you have DSM input
  • Tridge created something that could introduce parity errors
    • Which used DMA-to-pin
      • Which led to first implementation of a D-Shot ESC!
        • Frames generated (see spectrum analyzer output)
        • Tridge’s ESC is on the way
        • 4-bit CRC
        • “ProShot” support would also be nice!
          • Support planned
        • Betaflight uses “burst DMA-R”
          • Great stuff, so tridge swiped it
          • 4 output pins in single transfer
            • Obscure STM32 datasheet page…
            • Synchronised output!
          • One dma channel per timer
            • Quadcopter only single channel required
            • Hexacopter 2
            • Octacopter 2 or 3
          • JW, Luis and/or Leonard will do some testing for tridge

UTC0032 - expenses

  • Please get any claims into Luis!

UTC0032 - funding proposals for AUVSI

UTC0045 - other discussions

  • Swag Shop discussion:

    • Should add link in Discuss
    • Sales update from Jani in coming days, most came from canberra event
    • Bump in sales occurs whenever someone posts on Facebook
    • Jani asks Randy to send note to Partners making them aware of the swag shop
  • Banner ads:

    • Should raise a vote as to whether we have banner ads on ardupilot.org