April 20, 2022
Join us
Agenda
- Community Announcement
- Community Q&A
- Weekly Overview
- Project Updates
- General Discussions
- High priority queue
- Release
Community Announcement
- No deep technical discussions during the first 45 minutes of general call
- CFP registration deadline extended till the end of Friday (April 22nd) this week!
Go apply now!!
- The Dev Summit will be happening at the same time with other Linux Open Source Events!
- After Party & Cocktails
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’t be updated since it’s 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 “Waiting 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’s 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/src/drivers/px4io/px4io_uploader.cpp at main · 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 ‘current’ reading, to know how much power drone has consumed
- This can be documented better - @MaEtUgR
- OR, get a smart battery
Q.5 : MAV command for Mission Item doesn’t have timing information
- USE CASE : Trying to command the Servo’s position for a whole 1 minute, when reaching a mission point (item)
- SOLUTION : Try ‘Loiter time’.
Q.6 : Using the BeiDou satellite network - Tony 
- 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 ‘satellite information’ uORB message to log status
- TODO : Will update on the status
Project Updates / Contributions
MSP OSD Support
- GitHub - chris1seto/PX4-Autopilot at pr-msp_osd_support
- Works with DJI Air unit.
- Multiwii Serial Protocol
- iNAV, Ardupilot, Betaflight uses this!
- TODO : Chris will open a PR for this
RC Input refactor PR
- Rework RCInput auto selection by chris1seto · Pull Request #19285 · PX4/PX4-Autopilot · GitHub
- Have been tested on CRSF
- Need testers for RC Protocols like : PPM,
- New PR on separating CRSF as new driver: drivers/rc/crsf_rc: create new standalone CRSF driver by chris1seto · Pull Request #19500 · PX4/PX4-Autopilot · GitHub
Create a proper Circular Buffer library for RC input parsing
- Previous CRSF parser was loosing a byte for example!!
Weekly Overview
Slack
- WSL2 USB Support : Program your microcontrollers from WSL2 with USB support - Golioth
Last Dev-Call
- Motor cutout issue for PX4 v1.13 : Single motor cutout on CubeOrange, v1.13 (Swarm Drone)
- 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
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’t go away, but still saves time)
- Tony : Keeping ‘IMU 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 ‘ellipsoid’ for all the motions.
- Option of doing a ‘quick cal’ by facing the craft to North!
- 3D Mag Bias online estimation exists (has 30 second window after take-off to verify)
- It’s quite ‘ambiguous’ what the user should exactly do!
- TODO : Would be better to add ‘dotted circle’ to show that direction doesn’t matter, etc.
- The ‘wireless sensor calibration can be unstable’ message, is it necessary?
- Nope
- TODO : Remove this message in QGC! (PX4)
Dev Call Format
- Discussion on changing the format to keep it casual : New 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’s a powered Brick
- Dynamics Model isn’t so bad - Jay
- The reason it’s bad is because of the model that should resemble the plane’s behavior
- Currently it’s a powered Brick
- Other Simulator options
- We need someone who regularly flies Fixed Wing to judge if the model is good or not
High priority queue
Discussion based on : High-Priority Queue · GitHub
Release
- Release Candidate selection in progress
- Tony : Didn’t notice anything weird happening