PX4 Dev Call: September 02, 2020

September 02, 2020

Agenda

  • Status update by component/project
  • Roadmap, and Release discussion
  • Community Q&A
  • In-Depth discussions

Join Meeting

Meeting ID: 946 175 205
Join using your mobile/desktop

Call in using your phone, find your local number: https://zoom.us/u/aetSYKbiMF


Component update

Hardware Workgroups

System Architecture

Multi-ekf, @dagar is working on getting it easily reviewable in multiple save change stages.

Part1: Refactoring for improved uORB multi topic and instance support:

Part2: ekf adjustments for multiple instances

Part3: shortcut estimate voting as long as we don’t have it

Goal is to have it mergable turned off by default which then allows enabling it for testing to stabilize.

Part4:

OS / NuttX

We need testing on the new NuttX version:

Advantage: New NuttX is faster and supports new compilers

The reality is probably that after basic checks we need to merge it to get more thorough testing.

Monitoring the CPU load in detail is adding a significant amount of CPU load. Top adds ~5-8% load.
PR for optimization to only really use it while running top.

Driver

Rewrites for some magnetometers to bring them into the same for like new IMU drivers:

Improvements for ICM42688P. Looks like a nice sensor on paper and test rack, looking forward to get more data.

General improvements for sensor drivers e.g. rotation for any external

Commander

Failure detector still needs review:

@dagar is thinking about extending the failure detector to monitor the rate controller just on takeoff to detect wrong a wrong IMU motor setup before flipping:

Estimation

No updates

VTOL

No updates

Fixed Wing

No updates

Multicopter

Small bug

Avoidance

Contribution to go fast when the risk for a collision is low. The risk is calculated based on altitude:

Simulation

No updates

MAVSDK

Bugfix contribution for memory usage within the library:

MAVROS / DDS / ROS2

  • microRTPS: Fixed bugs on the transport code that were causing the bridge to not parse all the packets of the buffer, leading to the read buffer getting full rather quick.
  • the agent_protocol_splitter, that allows to get and send both MAVLink and RTPS data on the same serial link is available in https://github.com/Auterion/agent_protocol_splitter. Documentation on how to properly use it and configure it, together with the PX4 (FMU) protocol splitter, will be added soon to the PX4 Devguide.

UAVCAN

  • We got contributions for ESC messaging
  • Working over some confusions people had of the standard DS-015

Release

https://github.com/PX4/Firmware/pull/15654 was merged so we cut the stable release:

https://github.com/PX4/Firmware/releases/tag/untagged-c883f5022b470f1eab67

It’s a draft since we didn’t write the highlight changelog and announce it yet.

Changelog gist: https://gist.github.com/mrpollo/7173f6c89d2fdacb923eb4481b486e41

Please make sure your contributions are mentioned and highlights are stressed.

@MaEtUgR and @dagar sync on the multicopter section.

Should drivers have a separate section? Yes
Should each driver have an update? No, we need a list of what hardware was added or improved.

Announcement for the release should be ready by end of the week and published in time for the next dev call.

Community Q&A

Ian Galloway from NXP question about mixer:
It should be possible to mix in every input channel to any output channel. E.g. a percentage of the throttle to a certain actuator. He has a specific rover case he couldn’t solve. There’s a mixer file that is not super easy to write but allows exactly that.

Junwoo Hwang:
How can a normal user flash the latest release candidate without going into the development workflow? Answer: In QGC when you flash an autopilot it defaults to download the latest stable but you can manually chose the last successful build from the beta branch and you’ll get the release candidate.

Junwoo Hwang:
His team is building a jetski. One challenge is readying the state of the “pilots” throttle input via ADC. What’s the easiest way to do it? Could make a small module that subscribes to the ADC uORB channel and publishes to the actuator_controls e.g. convention is the 4th channel (0 indexed [3]) is the throttle output. Then makes sure to reuse or write a mixer file and load it such that this throttle gets mapped to the correct PWM output channel. (See https://dev.px4.io/master/en/concept/mixing.html#control-group-0-flight-control)

In-Depth discussions


Errata and Feedback

Let me know below if we failed to capture anything the right way, and if there are any updates (not present here), or you have feedback you would like to share with the dev-team.