PX4 Dev Call: April 20, 2022

April 20, 2022

Join us


  • Community Announcement
  • Community Q&A
  • Weekly Overview
  • Project Updates
  • General Discussions
  • High priority queue
  • Release

:loudspeaker: Community Announcement

Go apply now!!

  • The Dev Summit will be happening at the same time with other Linux Open Source Events!
  • After Party & Cocktails :cocktail:

:people_holding_hands: Community Q&A (No deep technical discussions)

Q.1 : Debug Consoles baud rate is quite low, why?

  • Current rate is a NuttX Default (57600), but probably won鈥檛 be updated since it鈥檚 dependent on NuttX.
  • You can however customize the rate freely!

Q.2 : Bootloader GPIO Initialization - @cdcross

  • In order to get safe/deterministic initialization of PWM (and other GPIO) outputs that avoid unintentional actuation under certain conditions, a PX4 application needs to safely initialize those GPIO during board init. See: PWM outputs go high for ~500ms on boot 路 Issue #19188 路 PX4/PX4-Autopilot 路 GitHub
  • The bootloader (at least for some boards) does not share this initialization logic, nor does it have access to some of the timer channel configuration helpers/utility methods/classes due to being a C target, so to achieve the same safe GPIO init, a clumsy, hand-coded duplication of the init logic can be performed. See: PWM outputs go high for ~500ms on boot 路 Issue #19188 路 PX4/PX4-Autopilot 路 GitHub
  • @dagar and @david_s5 suggest that there is the opportunity to unify the GPIO initialization process and share the same code between the application and bootloader, at least in the case of in-tree bootloaders, such as for the H7-based boards.

Q.3 : Alternatives to the px_uploader.py script for flashing firmware - @cdcross

  • The current script seems to exhibit some flaky behaviors in triggering reboots into bootloader mode and failure to report explicit error messages in many situations
  • Many exceptions are silenced at the 鈥淲aiting for bootloader鈥 stage. Example: if pyserial is not installed, creation of the uploader object fails, but the exception is silenced and a retry occurs indefinitely
  • Chris Seto also reported flaky behaviors through their experience flashing targets 10+ times a day
    • Seems like the uploader has issues getting the Px4 into BL (retries a few times)
    • warning message about modem-manager apparently regardless of if it鈥檚 installed or not
  • @cdcross will be putting together a PR in the near future to add better error handling/feedback to improve this, and will also be creating a standalone C++ lib+app for performing firmware updates, specifically for offboard compute driven firmware update use-cases.
  • Besides the uploader script, the only other thing that comes to mind is QGroundControl
  • @dagar shares that there is a C++ firmware update class in PX4 within the PX4IO uploader class: PX4-Autopilot/px4io_uploader.cpp at master 路 PX4/PX4-Autopilot 路 GitHub

Q.4 : Battery load compensation for load-carrying aerial vehicle - Safy

  • By default, the compensation is done by battery voltage & estimated thrust
  • Much better to use 鈥榗urrent鈥 reading, to know how much power drone has consumed
  • This can be documented better - @MaEtUgR
  • OR, get a smart battery :smirk:

Q.5 : MAV command for Mission Item doesn鈥檛 have timing information

  • USE CASE : Trying to command the Servo鈥檚 position for a whole 1 minute, when reaching a mission point (item)
  • SOLUTION : Try 鈥楲oiter time鈥.

Q.6 : Using the BeiDou satellite network - Tony :artificial_satellite:

  • GPS signal was weak in certain regions, searching for options of using BeiDou to supplement
  • GLONASS coverage is terrible in this region. GPS is kinda sufficient.
  • 2 vehicles crashed
  • Using 鈥榮atellite information鈥 uORB message to log status
  • TODO : Will update on the status

:construction_worker_woman: Project Updates / Contributions

MSP OSD Support

RC Input refactor PR

Create a proper Circular Buffer library for RC input parsing

  • Previous CRSF parser was loosing a byte for example!!

:calendar: Weekly Overview

:computer: Slack

:phone: Last Dev-Call

  • Motor cutout issue for PX4 v1.13 : Single motor cutout on CubeOrange, v1.13
    • Have done long duration testing, and it seems like a hardware issue for now!
  • Control Allocation Thrust Curve & Assymetrical thrust cases status - @cdcross
  • RC Throttle range normalizing to [-1, 1] - @MaEtUgR

:thinking: General Discussions

Sensor Calibration feedback

Please leave your thoughts on Sensor Calibration in general at this issue : [Project Tracker] Sensor Calibration Improvement for PX4 路 Issue #19459 路 PX4/PX4-Autopilot 路 GitHub

  • Taking all the sensor data at once would be a potential improvement (mag dance won鈥檛 go away, but still saves time)
  • Tony : Keeping 鈥業MU Automatic Calibration鈥 enabled. So good to use if no error messages are popping up!

How accurate should we be when calibrating the mag? - Chris

  • Very clumsy to do the mag dance for 2 meter wide vehicle with USB cable connected.
  • MAG CAL is trying to fit all the points on the 鈥榚llipsoid鈥 for all the motions.
  • Option of doing a 鈥榪uick cal鈥 by facing the craft to North!
  • 3D Mag Bias online estimation exists (has 30 second window after take-off to verify)
  • It鈥檚 quite 鈥榓mbiguous鈥 what the user should exactly do!
    • TODO : Would be better to add 鈥榙otted circle鈥 to show that direction doesn鈥檛 matter, etc.
  • The 鈥榳ireless sensor calibration can be unstable鈥 message, is it necessary?
    • Nope
    • TODO : Remove this message in QGC! (PX4)

Dev Call Format

How frequently is master branch real-life tested? - Chris

  • Fixed Wing, Multicopter, etc.

Simulated Vehicle Improvement

  • Improvement in Fixed Wing simulation would be great
    • Currently it鈥檚 a powered Brick :brick:
    • Dynamics Model isn鈥檛 so bad - Jay
    • The reason it鈥檚 bad is because of the model that should resemble the plane鈥檚 behavior :airplane:
  • Other Simulator options
  • We need someone who regularly flies Fixed Wing to judge if the model is good or not :person_shrugging:

:exclamation: High priority queue

Discussion based on : High-Priority Queue 路 GitHub

:ear_of_rice: Release

  • Release Candidate selection in progress
  • Tony : Didn鈥檛 notice anything weird happening