Dev Call May 23, 2022

Issues & Pull Requests

Plane

Copter & Rover

GSOC

Attendee count (max): 18

Pre-Agenda:

  • Copter and Plane 4.2 are out!
  • Tracker 4.2 soon
  • Sub… l… 4.1 first?
  • Blimp too….

UTC1101 - Rover/Copter update

  • Releases went out
  • Caveats on 4.2 release
    • Combinations of ESCs and boards which aren’t working with d-shot
      • Were working with 4.1.5
      • Andy’s working on it
      • Serial1 vs serial2 is a bit of an issue
      • GPIO/change to servo function - -1 thing
      • Precision landing retry 3 times
        • May yaw
    • 4.2.1 not too far away
    • Some patches in Plane 4.2.1 which are candidates
    • Probably do the double-rebase thing

UTC1106 - Plane update

  • 4.2.1 is out
    • Important land-reposition issue fixed
      • Race condition disarm
      • extremely unlikely to trigger, been in since forever
      • Has to include a double-landing to happen
    • Need to check Copter
      • Maybe with MIS_RESTART false
    • Motor-offset parameter for reducing CAN bandwidth
  • 32-servo support merged
  • Flown on 3 vehicles
    • Quadplane
    • Multirotor (inc. dshot)
  • Should we look

UTC1113 - Should we look at the roadmap each month?

  • We sometimes forget what we’re heading towards
  • Want major 4.3 features early in release cycle
  • E.g. update ChibiOS sooner rather than later

UTC1115 - Add option to select branches by MichelleRos · Pull Request #32 · ArduPilot/CustomBuild · GitHub

  • Ability to test custom build server
  • 4.2 we dropped some important features for some boards
  • E.g. optical flow on F4
  • Need to be able to compile for the stable release
  • Really looking forward to AP_Periph being able to be compiled on here
  • Could run a custom-beta.ardupilot.org to allow testing of different branches
  • Label on github, use github API to get things with the relevant tag?
    • Adds to dropdown list
    • Might need to whitelist
    • [9:27 AM] Peter Hall: I suspect we could use a CI to remove a label each new push
    • Need to be smart about restricting which vehicles can be built from which branches?

UTC1120 - The document of nokov module by 15871812598 · Pull Request #4356 · ArduPilot/ardupilot_wiki · GitHub

  • Add support for nokov motion capture support
    • There’s a MAVProxy PR to go along with this Wiki document
  • Missing some files in the MAVProxy
  • Worried that nobody else has tested it…

UTC1144 - AP_Baro: tidy probing of external i2c baros by peterbarker · Pull Request #19917 · ArduPilot/ardupilot · GitHub

  • Makes probing of external barometers more uniform
  • Henry’s never managed to get an external baro working on SpeedyBeef
  • Josh will put this on hardware to test it

UTC1154 - AP_UAVCAN: add option to send ESC msg idx to match motor name idx by magicrub · Pull Request #19967 · ArduPilot/ardupilot · GitHub

  • Add option to send ESC msg idx to match motor name
  • Uavcan motor2 can be index 2
  • This PR would allow for ambiguity with things like throttle out
  • How does this interact with OF_OFFSET?
    • OF_OFFSET helps really reduce bus bandwidth
    • Can-dshot periphs work without changing
    • 5,6,7,8 with offset 3 would save 25%
  • Tridge is thinking of a new message with 11 bits of throttle value
    • The usual 2000-ish throttle steps
    • 5 bits for an index number….
  • This approach expects everything is coming from AP_Motors and its motormask/numbering
    • ESC telem on quadplane with motors on 5,6,7,8 would report as rc channels 1,2,3,4
    • This was really confusing
  • ESC feedback isn’t intuitive
    • They map to the servo number now
    • User has to know the servo number of each actuator (e.g. SERVO3_FUNCTION)
      • ESC telem 3 is then that function
      • No mapping directly to motors, ‘though
    • We really should have called them actuators
    • OUT_ on AP_Periph
      • Much better name for other vehicles
      • Big rename would cause lots of issues
  • Helicopter outputs are servos and ESCs…
  • Singlecopters….
  • The solid 1-1 esc-telem to servo output number is concrete and easily to explain
  • This would be baffling for any moderately weird vehicle
  • We should add the mavlink messages for the higher-numbered actuators
    • ESC_TELEMETRY_13_TO_16 etc up to 32
  • Motor 1 2 3 4 is something the user can understand
  • Inherent conflicts with this approach….
  • [9:59 AM] Peter Hall: now we have 32 servos we have more flexibility to have motors in a sensible place and order.
  • [10:01 AM] Peter Hall: AP motors does not always use motor outputs either.
  • [10:02 AM] Peter Hall: Copter bicopter uses throttle left and right.
  • [10:03 AM] Peter Hall: Tricopter uses motor 7 as a servo output not a motor.
  • [10:03 AM] Peter Hall: There are a few odd cases that brake the servo motor function to motor number rule.
  • [10:09 AM] Peter Hall: Two layer hex is a bad example, its a test order to motor number mapping IRRC
  • [10:09 AM] Peter Hall: We have been doing that for all the recent ones.
  • [10:11 AM] Peter Barker: @Peter Hall I picture a pretty 3D picture of a 2-layer (12 motor!) hexacopter, and the GCS being able to highlight the bad motor in red.
  • [10:11 AM] Peter Barker: Would be nice to be able to provide enough information for the GCS to be able to do that…
  • [10:12 AM] Peter Hall: Right, 2 layer hex is starting front right, top → bottom clockwise.
  • [10:12 AM] Peter Hall: The motor number is the testing order.
  • [10:12 AM] Peter Barker: … same thing with motor test - being able to highlight the motor that’s supposed to be spinning on a little picture would be awesome, right?

UTC0015 - Avoidance: Path planning path reporting by IamPete1 · Pull Request #20554 · ArduPilot/ardupilot · GitHub

UTC0028 - Update OSD flightmodes for plane and copter by andyp1per · Pull Request #20811 · ArduPilot/ardupilot · GitHub

  • Add extra flightmodes into OSD
    • Avoids numbers in interface
  • Any PR should mention what testing has been done on it!
  • Fix at same time

UTC0029 - Add W25Q128 variant by andyp1per · Pull Request #20817 · ArduPilot/ardupilot · GitHub

  • Add W25Q128 variant
  • merged

UTC0032 - Add support for Plane in SITL-on-HW by peterbarker · Pull Request #20822 · ArduPilot/ardupilot · GitHub

  • Sim on hardware for Plane
    • Also allows mask for actuator output
  • merged!

UTC0038 - Allow SITL rangefinder to work on sim-on-hardware by peterbarker · Pull Request #20825 · ArduPilot/ardupilot · GitHub

  • Simulated rangefinder support for sim-on-hardware
  • Merged!

UTC0039 - GSoC update

  • Announcements have been made
  • Shiv, Randy and Peter have arranged a discussion in Discord
  • PH is going to work with Simulink
  • Sanket with Jaime and revisiting ROS+ArduPilot integration
    • James’ comments very valid
    • Huge issue that we can’t integrate with ROS2 ATM
    • MAVROS doesn’t work with it
    • Maybe there’s a branch somewhere?
    • All news to Randy
    • Randy’s understanding
      • Can’t use MAVROS with ROS2
      • Direct integration was done last year?
        • Project fell apart somehow
        • Massive change in ArduPilot
        • Lack of developer time
        • ROS2 protocol
        • Up-and-running on SITL
        • Another major protocol besides mavlink
          • Huge, complex protocol
          • Wasn’t up to a mergeable standard
          • Basic operations in SITL worked
          • Not in good-enough shape to merge
      • Current plan is to go with ROS1
        • March along this path?
        • Perhaps see if MAVROS has been done for ROS2…
      • ROS2 is a completely different sort of protocol to ROS1
      • [10:43 AM] Buzz: Porting MAVROS for ROS2 (GSOC'21) <<-discussion here…
        • ArduPilot Discourse
        • Porting MAVROS for ROS2 (GSOC’21)
        • Ardupilot recently updated their GSOC idealist and I was interested in working on the project Mavros for ROS2. I have some queries related to the project and it would be great if some of the possible mentors could answer them : 1.) As of now I have a basic PixHawk kit ready and set up and do I need some additional hardware like Lidar Sensors as…
        • Image
        • [10:44 AM] Buzz: “There is almost ready port of mavros to ROS2 (GitHub - uas-at-ucla-dependencies/mavros 56), it need some cleaning and testing. AFAIR I manage to run it.”
    • Ideally we do ROS2 as James says
      • Getting older fast
    • Could we clean up the ROS2 direct interface that was done last year?
    • Might be possible to do this in LUA….
    • FastRTPS?
    • Links against AP_XRCE submodule library
      • Thinks it is running on POSIX
      • Clock_gettime etc etc
    • Current direct implementation really needed some sort of generator/compiler as it was doing a lot of assembly by hand

UTC0101 - close