Dev Call June 13, 2022

Issues & Pull Requests

Plane

Copter& Rover

GSOC

Attendee count (max): 14

UTC1101 - Plane: Add radius to MAV_CMD_DO_REPOSITION by magicrub · Pull Request #19860 · ArduPilot/ardupilot · GitHub

  • Radius on mav-cmd-do-reposition mavlink message
  • Peter would prefer two calls rather than one
  • Need to be consistent between
  • Negative mean ccw?
    • Upstream didn’t like it
    • Instead yaw has special meaning on plane
    • Mavlink message allows ccw rotation
    • API will need to support negative numbers for ccw…
  • More calls!

UTC1116 - Sagetech MXS AP_ADSB Integration by faberc · Pull Request #20785 · ArduPilot/ardupilot · GitHub

  • SageTech MXS AP_ADSB integration
  • Linking error…
    • Note “View Raw Logs” in github is extremely useful when tests fail
    • ./waf –targets tests/test_location
    • Once reproduced, work out why it needs it
    • BUILD_TYPE_UNKNOWN in AP_ADB would probably work
  • SDK
    • Well-structured Old-skool c-style library
      • Not C++
      • Lots of memcpy’ing around
    • Maybe alignment issues?
      • E.g. svr->airborne.geoAlt = toAlt(&buffer[PBASE + ofs]);
    • Double-precision might be a problem….
    • Root namespace?
  • Want to build this in at least one stm32 board in CI
  • So long as this builds with no warning on Durandal we can probably bring it in
  • Some 2MB boards are getting low on space….

UTC1144 - AP_HAL_ChibiOS: Add on-board baro support to iFlight BeastH7 V2 target. by jimsynz · Pull Request #20807 · ArduPilot/ardupilot · GitHub

  • BeastHyv2 support
  • Merged!

UTC1146 - AP_FETTecOneWire: Fix the recent change of NUM_SERVO_CHANNELS > 24 by amilcarlucas · Pull Request #20882 · ArduPilot/ardupilot · GitHub

  • Fixes for FetTecOneWire for more servo channels
  • MergeOnCIPass

UTC1149 - AP_Mount: custom Gremsy driver by rmackay9 · Pull Request #20915 · ArduPilot/ardupilot · GitHub

  • Custom gremsy driver
  • Test flown and works well
  • Should we really build this on all boards?
    • Pixhawk1-1M is so close to dying
    • Original bootloader, only way to tell is to see if the thing crashes
    • New bootloader you can check the MCU id
    • We should probably log the MCU id
  • Kill Pixhawk1-1M
    • Can’t, 1MB boards are half our community
  • New pattern for reducing flash space coming along…

UTC0008 - FFT watchdog by andyp1per · Pull Request #20938 · ArduPilot/ardupilot · GitHub

  • Fix for fft ARMING_REQUIRE 0
  • Merged!

UTC0009 - AP_ESC_Telem: use send_struct mavlink function by tridge · Pull Request #20943 · ArduPilot/ardupilot · GitHub

  • Use send_struct to send message
  • Saves huge amounts of flash
  • Merged!

UTC0011 - more on flash costs and what needs saving

  • What should be bracketed by pragmas?
  • frontend/backend split drivers
  • Rarely used things
  • Pulling the space costs back up into the text is a useful thing to do

UTC0016 - GCS_MAVLink: Ignore heartbeats from the MAVLink gimbal by amilcarlucas · Pull Request #20946 · ArduPilot/ardupilot · GitHub

  • Ignore heartbeats from mavlink gimbals
  • GCS failsafe not working as gimbal heartbeat considered good
    • … why does the gimbal have a source system of the same as the GCS?
  • Tridge wants more flexibility so redundant GCSs can be a thing
  • Should look for MAV_TYPE GCS
  • Components which use the source system from the first packet they see should probably ignore heartbeats depending on content so they don’t start to broadcast from source system of GCS

UTC0024 - Correct UART RX stats by andyp1per · Pull Request #20953 · ArduPilot/ardupilot · GitHub

  • Bug fix for uart stats count
  • Merged!

UTC0025 - AP_Motors: quadratic programming optimal mixer, code optimised by IamPete1 · Pull Request #20961 · ArduPilot/ardupilot · GitHub

  • Quadratic programming optimal mixer, code optimised
  • Needs to be only on for 2MB
  • Now runs in good time on H7
    • 200us
    • 10% load on an octa
  • How are people going to take advantage of this?
    • Turn the bit on
    • Any matrix works
    • Any time the existing mixer would saturate this will be better
      • More motors you’ve got the more options you have
      • You won’t notice the difference on a quad
      • Increase stability… twice amount of yaw
  • Under what conditions does this activate?
    • Finds optimal solution to mixing problem within constraints
    • Applies maths method to mixer problem
    • Replaces existing motor mixer
    • Doesn’t handle motor-our situations specifically
      • Motor out pinned at full introduces constrain which this understands
    • When we can pick a failed motor this mixer can be fed that information and it can optimize differently
  • In normal operation the mixer is resolves based on what limits are currently in place
  • Weights rpy much higher than thrust
    • Currently puts yaw at same level as rp but this could change
  • Test using sitl-on-hw
  • Iterative solution, max ten loops
    • Couple of threshold values
  • Use flip mode to test the maths to not converge…
  • References rather than pointers….
  • Flight option for quadplane would be good
  • This won’t give you a spinning-quad-on-motor-outage
  • We lose reporting
    • Could add it back…
    • Might trip more…
  • Motor failure from ESC telemetry is coming….
  • Might want to use fast-memory for this stuff to get a memory kick
  • Are we going to carry both of these forever?
    • Can’t really get rid of the other as can’t run on F4
  • Handle more wind?
    • Probably
  • Harder to work out what’s going on with this mixer?
  • This will help failing aircraft but won’t improve tune….
  • The-mix-min and the-mix-max tradeoff
    • To be stable in high turbulent wind with windshear you need a high the-mix-max
      • But you can end up struggling to descend because it’s trying to stabilize itself
  • Octaquad won’t benefit as much as an octa
  • This sort of thing is common in over-actuated vehicles
    • Walking robots etc
    • Just not usually this fast

UTC0110 - Make available/available_locked consistent with read/read_locked by andyp1per · Pull Request #20963 · ArduPilot/ardupilot · GitHub

  • Bumped to Wednesday

UTC0011 - AP_Param: add `@SYS/defaults.parm` and log default values by IamPete1 · Pull Request #20972 · ArduPilot/ardupilot · GitHub

  • Download defaults for board
  • Tridge has something similar
  • Tridge and Pete will compare their approaches
  • Will need good definition of default value
    • What the value would have been if all the other parameters had set to what they currently are
    • E.g. set up a quadplane tailsitter and it changes accel/gains etc for tailsitter
      • Need to take this into account…
      • Esp. if q_enable is 0

UTC0018 - Plane update

  • No 4.2.2 beta yet
  • CRSF bugfix has been confirmed by the user
    • Important fix which has to go out soon!
  • Dual harmonic notch will also be in there
  • New filter analysis tool:

UTC0020 - Copter/Rover: 4.2.0 issues list · Issue #20192 · ArduPilot/ardupilot · GitHub

  • No fall out of sky bugs so far
  • Scary precland climb bug
    • Min-cm-0 is not good, one of the drivers can return that when things aren’t going well
    • Loiter-climb-rate climb
    • Altitude fence kicked in and saved the day
  • 4.2.1 analogue rangefinder scaling incorrect
  • Prearm checks didn’t catch rangefinder conflict
    • Probably also true
  • Solo gimbal broken?
    • Peter will put recent onto his Solo if he has a gimballed Solo running OpenSolo
  • Nothing of note for Rover

UTC0028 - GSoC

  • Several teams going well
  • Others are still forming
  • Should we use threads in Discord rather than using private channels?
    • Allows others to see what’s happening
  • If temas need hardware then organise it now!
  • Students should attend a DevCall…

UTC0033 - close