Dev Call Jan 17, 2022

Issues & Pull Requests

Plane

Copter

Rover

Attendee count (max): 36 (is this a record turnout?)

UTC1100 - ardupilotmega: use params 6 and 7 of MAV_CMD_DO_START_MAG_CAL to pass lon/lat by Williangalvani · Pull Request #238 · ArduPilot/mavlink · GitHub

  • Use parameter 6 and 7 of DO_START_MAG_CAL
  • Needs to specify that zero/zero means ignore
  • Specify lat/lng when doing a mag cal

UTC1102 - Remove concept of "external dialects" / sync all.xml from upstream by peterbarker · Pull Request #237 · ArduPilot/mavlink · GitHub

  • Remove concept of external dialects
  • Merged
  • We’ll move to generating and using all.xml by default
  • Also sync some bits to upstream

UTC1104 - Support MAVLINK_MSG_ID_SET_ATTITUDE_TARGET by lthall · Pull Request #18833 · ArduPilot/ardupilot · GitHub

  • Support for MSG_ID_SET_ATTITUDE_TARGET
  • Peter will look at test after the call
  • And merge it if he’s happy with the test

UTC1107 - Plane: add radius for GUIDED mode by magicrub · Pull Request #19297 · ArduPilot/ardupilot · GitHub

  • Add radius for guided mode
  • Possibly change DO_LOITER command to honor location fields?
  • DO_ORBIT instead?
  • This is coming through the “magic mission item” codepath
  • Peter to work with Tom on doing DO_CHANGE_RADIUS instead
    • Solves LOITER_TURNS issue where max radius is 255m
    • GCS can tell if the pilot has rejected the radius

UTC1115 - Move MOTB logging to motors and add for Quadplane by IamPete1 · Pull Request #19589 · ArduPilot/ardupilot · GitHub

  • Resistance in battery logging already?
  • Move MOTB logging to motors and add for Quadplane
    • I.e. out of vehicle code and into library
  • This just moves the message, associated things Leonard wants to review

UTC1118- https://github.com/ArduPilot/ardupilot/pull/19659

  • What to do in case we can’t convert alt
    • Internal error and land

UTC1120 - SRV_Channel: native slew limiting by IamPete1 · Pull Request #19712 · ArduPilot/ardupilot · GitHub

  • Native slew limiting for servo channels
  • Good for flaps on Planes
  • Only want to slew-limit the flaps part when doing flaperons…
  • 1-microsecond resolution thing goes away!
  • Linked list of slewed things
  • Slew limiting in two places?
    • Get_slew_limited_output_scaled
  • Use og G_Dt is an existing issue

UTC1131 - AP_HAL_ChibiOS: do not emit config for more ports than we use in hwdef by peterbarker · Pull Request #19727 · ArduPilot/ardupilot · GitHub

  • Used to align serial port numbers with silkscreens
  • OK to remove if they’re at the end
  • Fix in hwdef rather than in here

UTC1134 - AP_Scripting: special case handling of copy method by tridge · Pull Request #19736 · ArduPilot/ardupilot · GitHub

  • PH is happy with this

UTC1134 - Plane: reduce height gain in auto landing for tiltrotors by tridge · Pull Request #19738 · ArduPilot/ardupilot · GitHub

  • Working well for tridge but PH should look at this
  • Tridge will keep flying it
  • Better reverse transitions
  • Pending testing by PH

UT1136 - Remove loiter and WP_Nav from take-off and landing by lthall · Pull Request #19739 · ArduPilot/ardupilot · GitHub

UTC1145 - Position controller relax fix by lthall · Pull Request #19743 · ArduPilot/ardupilot · GitHub

  • Relax position controller fix
  • In memory of the “great twitch hunt”, trying to iron out word things
  • Caused by high vibrations
  • Bill’s raised an issue with it
  • Bugfix / initialisation fix
  • 4.1 backport candidate
  • Randy will look at it later today
  • Would like this in before next DevCall…

UTC1147 - Call mavlink_parse_char without r_msg/r_status by peterbarker · Pull Request #19746 · ArduPilot/ardupilot · GitHub

  • Pete rcan merge when he’s happy with it
  • Significant performance improvement but need to understand any behaviour change

UTC1149 - GPS air mode by lthall · Pull Request #19753 · ArduPilot/ardupilot · GitHub

  • GPS air mode
  • Allow somebody to disable land detection in all but land-no-gps
  • Apply downward force to things?!
    • Place object on other object…
    • As you descend with part on aircraft the aircraft drops its weight onto tower
    • Don’t want it to “land” up there
      • Affects control authority and throttle mix and iterm relaxing…
  • Stop disarm-in-updraft on large multirotors (it does happen!)
  • Rename to “land_detector_disable”?
  • Make it a “I am definitely flying” switch
    • So Plane’s “is_flying” method would return true if this switch was set
    • If we’re in a failsafe then we need ignore this switch because we may not be visible any more
    • FORCE_FLYING?
  • This should only affect position-controller-based modes
    • Tridge wants it in qstab
  • [10:56 AM] Peter Hall: So includes alt hold that does not need GPS.
  • PIDs in Plane run slightly differently if you’re flying/not flying
  • If you’re in RTL failsafe on the ground is_flying is used to suppress throttle
    • This would cause the motor to go
      • But the user has asked for this?
  • Crash detection?
    • Not disabled ATM
    • Detecting crash instead of landed would be bad
  • Contributions and thoughts on the PR welcome!

UTC0000 - AP_HAL_ChibOS: update hwdef,defaults, and readme for KakuteH7 by Hwurzburg · Pull Request #19763 · ArduPilot/ardupilot · GitHub

  • Documentation fixes for KakuteH7
  • Fixes OTG2 when it doesn’t have CAN…
    • There are uses outside CAN…
      • Blheli passthrough
      • Confusion factor overhwelms the utility value
      • PH wants this kept
      • MissionPlanner always claims it is slcan…
  • Merged!

UTC0005 - AP_Hal_Linux: PCA9685: do not shutdown by Williangalvani · Pull Request #19772 · ArduPilot/ardupilot · GitHub

  • Don’t shut down pca9685
    • Shutting down can cut a pulse part-way causing vehicles to reverse the prop
  • Merged!

UTC0006 - Remove PixRacer from blacklist, fix heavy-periph list entries by peterbarker · Pull Request #19775 · ArduPilot/ardupilot · GitHub

UTC0007 - AP_RangFinder: support various maxbotix serial sonar by chobitsfan · Pull Request #19778 · ArduPilot/ardupilot · GitHub

  • Adjusts scaling on maxbotix sonar
  • Merged!
  • Much simpler than the one last week

UTC0008 - AP_HAL_ChibiOS: disable UART stats based on GCS being enabled by peterbarker · Pull Request #19780 · ArduPilot/ardupilot · GitHub

  • Disables stats on other peripherals
  • Saves flash
  • Merged!

UTC0009 - RC_Channel: make AUXF.function an instance by Gone4Dirt · Pull Request #19785 · ArduPilot/ardupilot · GitHub

  • Merged!
  • Auxf.function an instance

UTC0010 - Return failure in pre_arm_check if unhealthy by peterbarker · Pull Request #19787 · ArduPilot/ardupilot · GitHub

  • Not using a calculated return value in two cases
  • Is this going to affect planes without compasses?
  • Allows takeoff without compass
    • In-flight learning?
  • Unfortunately, we use “healthy” in the way we do…
  • Sometimes we have a mistake in the way we determine “healthy”
  • velocity/position/health
  • Need to test you can arm in manual/stabilize
  • No-mag / compass-learn-3
  • This would refuse to arm in alt-hold if you have horizontal position errors?
  • EKF holds position tighter on ground because not expecting movement
  • Setting health based on requirements….
    • Mask which says what
  • Partial GPS indoors will
  • Autotest - Wait-for-gps, glitch gps like mad, then kill all the satellites, then try to arm and you might fail to arm
  • Just void-cast ret - says tridge

UTC0022 - AP_Common: support AP_CUSTOM_FIRMWARE_STRING by tridge · Pull Request #19790 · ArduPilot/ardupilot · GitHub

  • Support AP_CUSTOM_FIRMWARE_STRING
  • MergeOnCIPass
  • [11:25 AM] Peter Barker: @AndrewTridgell I wonder if we should allow them to specify a custom frame string? So Leonard could have Frame: Calisto rather than Frame: QuadX8 or whatever it is
  • [11:26 AM] Peter Hall: you can do that with a one line script.
  • [11:26 AM] Peter Barker: @Peter Hall did we merge that?
  • [11:26 AM] Peter Hall: yep
  • [11:27 AM] Peter Barker: … some vendors might want to do this on a 1MB board…
  • 11:27 AM] Peter Hall: eg:
  • motors:set_frame_string(“Calisto”)
  • 11:28 AM] Peter Hall: yeah, we could allow hard coding of the the same.

UTC0024 - AP_BatteryMonitor: add current scaler for UAVCAN by Hwurzburg · Pull Request #19791 · ArduPilot/ardupilot · GitHub

  • Current scaler for uavcan?
  • “Scale” vs “mult”
  • [11:28 AM] rmackay9: “Adjust” is a new word which we should try and avoid…
  • Subsystem at start of description
    • E.g. Battery current scaling
    • Put battery at the front

UTC0027 - diff binaries as part of CI by peterbarker · Pull Request #19805 · ArduPilot/ardupilot · GitHub

  • So when something is non-functional change you can point at binaries which aren’t changing
  • Merged!

UTC0030 - Plane: Add ability to run aero scripts from any mode by Hwurzburg · Pull Request #19811 · ArduPilot/ardupilot · GitHub

  • Add ability to run aero scripts from any mode
  • Extension to auto-mode stuff
  • 11:31 AM] Peter Hall: really not a fan of doing it in any mode.
  • Drive rate controllers in most modes (not manual)
  • Why not guided only?
  • Should scripts only allow things to stuff in guided?
  • Stabilized / rate controlled modes
  • Marco did knife-edge in cruise mode….
  • Inverted-ona-switch already plays with the way the vehicle flies
    • Different - who is in control of the aircraft while the script is playing
    • Scripts can already take over any servo output and fly the plane any way they like
  • FPV fliers who want to do a trick
    • Tridge doesn’t want a flight-mode-change
    • “Guided is meaningless to someone flying from RC groups”
    • Set a mode name “loop mode”?
    • Link between pilot control
    • Let script choose whether to be active
  • “Only guided” is a straight-forward rule…
    • Scripting can pop you into guided and back out again…
  • [11:37 AM] rmackay9: you add more complexity to each flight mode… making it more and more difficult to know what’s going on in a mode
    • Guided-within-auto
  • This gives scripts access to the rate controllers in any mode
  • Tridge wants to do bendy ruler as a lua script
  • Support will become much more difficult
  • If you script is working well you can do stuff - if your script is a mess you’re in trouble…
  • Flying in cruise, script does stuff - when do you tell script is finished?
    • Flip switch back to off again…
  • RC failsafe needs to disable the script?
    • This could be bad?
    • Any mode change disabled the functionality
  • Tridge likes giving flexibility to scripts
  • Tools to allow it to be safe
  • [11:43 AM] Peter Hall: I also think that there is a lot of benefit in working the same as copter would.
  • [11:43 AM] Peter Hall: It would be only guided in copter.
  • [11:45 AM] andyp: Only allowing aero mode in guided is very limiting…
  • [11:45 AM] rmackay9: the additional complexity you’re adding by letting anything happen in any mode just creates a huge number of edge cases and holes that’ll never be foreseen
  • Stick-mixing already overrides axes
    • That’s a mess
    • useful
  • Code complexity makes ArduPilot more difficult to work with
    • Need to understand more of the codebase to understand what’s going on
  • RTL mode guided mode avoidance stuff….
  • [11:46 AM] Peter Hall: why? Script can put you into guided mode and back.
  • [11:48 AM] MichelleR: One of the main advantages of Lua Scripting - not having to use flash for complex new functions - is kinda undermined when we restrict scripting.
  • [11:48 AM] Peter Hall: I really don’t understand how using guided mode is restrictive.
  • [11:49 AM] Peter Hall: It’s just a name that is reported.
  • 11:49 AM] Peter Hall: The key thing is that in FBWA the sticks always do the same thing.
  • [11:49 AM] Peter Hall: A user sees FBWA they know how the vehicle will respond.
  • [11:50 AM] Buzz: sounds to me like tridge/plane wants a more feature-ful scripting, and randy/copter doesn’t, so the key here is to make sure that we allow “scripting” as a concept to do all the things, and put vehicle-specific restrictions into the vehicle/s. eg: if randy wants scripting to only work in ‘copter-guided’ mode, then that’s something copter needs and plane doesn’t.
  • Embrace scripting for primary flight features
  • [11:50 AM] Nick K.: Hopefully we can get enough stuff optionally compiled that we can get scripting on 1mb boards.
  • [11:51 AM] Charlie Johnson: Could this be solved by scripting reporting a flight mode? i.e. Mode: Loop, Mode: RollingCircle, etc.
  • [11:51 AM] Peter Hall: exactly.
  • [11:51 AM] Peter Hall: The key thing is that we don’t hijack known modes.
  • [11:51 AM] Peter Barker: @Nick K. one of the things there - a lot of 1MB boards are short on RAM as well as flash.
  • [11:51 AM] Nick K.: bummer
  • [11:51 AM] MichelleR: Not being able to say, control only horizontal movement with the script and leaving throttle to the mode it’s in.
  • A user puts a script on their vehicle and knows how they’re changing their FBWA mode.
  • Script to be able to report mode with string / mode number?
  • Copter restricts to guided for safety/support
  • Copter flip mode…
    • Backflip in a tailsitter?
    • Why not change into guided, then?
  • [11:52 AM] MichelleR: And I would really not like even more differences between Copter and Plane…
  • [11:55 AM] rmackay9: by allowing anything to happen in any mode you lose proper handling of entering and exiting the mode…
  • [11:55 AM] Buzz: Do we need to change the scripting generator with 2x #defines … eg DO_ENABLE_ALL_APIS (plane) and DO_ENABLE_SAFE_THINGS (copter) ?
  • Things like control identification would be easier in some modes rather than another
  • Tridge things only-in-guided on Copter is a mistake
    • Randy does not
  • What’s wrong with doing stuff in mode of their choice?
  • [11:57 AM] MichelleR: Can we have that as a command used within a script instead? eg enable_unsafe_things()
  • Then if you want to change fbwa - or even Loiter in copter, then you call that function first.
  • [11:57 AM] Charlie Johnson: Would this be different if the attitude and rate guided mode Mavlink controls were in? Like the ones being worked on for copter? Then all of this would directly fit as guided control.
  • [11:57 AM] Buzz: @MichelleR - that sounds like a good idea to me… but i’m not writing it. :slightly_smiling_face:
  • Tridge is happy with the idea of doing all of this without a mode change

UTC0059 - AP_Compass: only magcal detected compasses by tridge · Pull Request #19812 · ArduPilot/ardupilot · GitHub

  • Only magcal detected compasses
    • Autotest has three compasses….
  • Compass_max_instances…

UTC0101 - Plane: stable 4.1.0 issues list · Issue #15941 · ArduPilot/ardupilot · GitHub

  • Want the ftp thing back into 4.1
  • Stable seems to be going OK
  • Rhys is doing cool stuff on Gazebo/Ignition simulator
    • Sem-trailer with landing platform
    • Good for demos/testing

UTC0103 - Copter: 4.1.0 issues list · Issue #16478 · ArduPilot/ardupilot · GitHub

  • Copter update
  • No new issues to speak of
  • 4.1.4 soon-ish?
  • A couple of fixes to get out there
  • Coming up fast on beginning of Feb - start of 4.2 beta testing

UTC0104 - Rover: 4.1.0 issues list · Issue #17116 · ArduPilot/ardupilot · GitHub

  • Rover update
  • Non-pivot corners still a problem with SCruve stuff
  • Slowing down too much
  • Huge change

UTC0105 - close