# PX4 Dev Call: March 18, 2020

**URL:** <https://discuss.px4.io/t/px4-dev-call-march-18-2020/15653>\
**Category:** PX4 Autopilot\
**Created:** [March 11, 2020, 5:01pm UTC](https://discuss.px4.io/t/px4-dev-call-march-18-2020/15653 "2020-03-11T17:01:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rroche](https://discuss.px4.io/user_avatar/discuss.px4.io/rroche/32/17635_2.png) [@rroche](https://discuss.px4.io/u/rroche)\
**Post date:** [March 11, 2020, 5:01pm UTC](https://discuss.px4.io/t/px4-dev-call-march-18-2020/15653/1 "2020-03-11T17:01:07Z")

</div>

# March 18th, 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**

> **[Join our Cloud HD Video Meeting](https://zoom.us/j/946175205)**
>
> Zoom is the leader in modern enterprise cloud communications.

**Call in using your phone, find your local number** : [https://zoom.us/u/aetSYKbiMF](https://zoom.us/u/aetSYKbiMF)

* * *

## Component update

### Pixhawk

> [@Hardware/Pixhawk Dev Call: Mar 17, 2020](https://discuss.px4.io/t/hardware-pixhawk-dev-call-mar-17-2020/15634):
>
> Mar 17, 2020 Call Moderators@MichaelSchaeuble@rrocheAgenda Pixhawk Standard FMUv[5X, 6, 6X] Pixhawk Smart Battery Pixhawk Payload Mailing List Dail In [Join Zoom Meeting](https://zoom.us/j/567710856) One tap mobile +14086380968,567710856# US (San Jose) +16468769923,567710856# US (New York) Dial by your location +1 408 638 0968 US (San Jose) +1 646 876 9923 US (New York) +1 669 900 6833 US (San Jose) Meeting ID: 567 710 856 Find your local number: [https://zoom.us/u/aetSYKbiMF](https://zoom.us/u/aetSYKbiMF) Errata and Feedback Let me kn…

### Flight Testing

- ⛈ The weather condition is still not suitable for flight; it looks like it will be raining all week. There were multiple indoor tests conducted.
- 🐞 [PR #14168](https://github.com/PX4/Firmware/pull/14168) contains a bug, and that’s why it didn’t arm in testing.

[https://github.com/PX4/Firmware/pull/14168](https://github.com/PX4/Firmware/pull/14168)

> [@Week 10 March 9 - March 13](https://discuss.px4.io/t/week-10-march-9-march-13/15728):
>
> Dronecode Test Team, Week 10 Report [PX4 Autopilot](https://dev.px4.io/en/test_and_ci/test_flights.html)Flight Testing, by the Dronecode Test Team. Sponsored by Dronecode. Summary 19 flights ([Link to log archive](https://docs.google.com/spreadsheets/d/13b03rMoR9UUwpOHSsoKw27p0VS4Jm5VTmUzE05KX_yk/edit#gid=2129321476)) 9 PR’s assigned 0 issue reported this week. Vehicle Status [image] GitHub Pull Requests (Assigned / Tested) ADC: replace ioctl with uorb message [#14087](https://github.com/PX4/Firmware/pull/14087) Added 2 IMU I2C drivers, SPI mode and bus speed option, fixed 1 I2C read bug, etc. [#14168](https://github.com/PX4/Firmware/pull/14168) sensors: move to uORB::Subscription and reduce CONFIG\_NFILE\_DESCRIPTORS 20 → 10 [#14382](https://github.com/PX4/Firmware/pull/14382#) …

### System Architecture

### OS / NuttX

- ⚡ F4 and F7 DMA changes were upstreamed to NuttX and are pending testing.
- 🚀 UAVCAN SocketCAN driver was updated in NuttX, and we can start testing that It’s still sending 0.9 UAVCAN messages above the transport layer.

> **[SocketCAN API on a RTOS](https://forum.opencyphal.org/t/socketcan-api-on-a-rtos/750/10)**
>
> Update: I’ve implement the software based CAN\_RAW\_FILTER socket option where specific can frames can be filtered on socket basis. I’m also thinking about implementing an ioctl to do hw based CAN filtering to save CPU cycles. Also the SocketCAN...

### Driver

- ⚙ UAVCAN Sensor drivers PR
- 🏃‍♀️ Big driver refactors for better reusability and scalability.

[https://github.com/PX4/Firmware/pull/14345](https://github.com/PX4/Firmware/pull/14345)

> <https://github.com/PX4/PX4-Autopilot/pull/14386>
>
> Follow-up to https://github.com/PX4/Firmware/pull/14221.
> 
> This converts a larg…e set of the drivers to use the new SPI and I2C board configuration. Mostly missing are mag's and imu's.
> 
> \### General
> \- bus frequency and SPI mode is now configurable via CLI (with per-driver defaults)
> \- common driver CLI interface
> \- driver multi-instance support, also for I2C devices on the same bus (for the ones supporting different addresses). I tested with 2 spd3x airspeed sensors, on different buses and on the same bus with different I2C address.
> \- compared to https://github.com/PX4/Firmware/pull/14156, driver instances are now maintained in a global linked list (saves a bit of BSS RAM, on the cost of runtime).
> \- Flash size change is somewhat inconsistent, for some drivers it decreases, for others it increases (mostly due to ifdef'ed I2C code, and more arguments). Overall on v2 ~2KB increase.
> \- RAM usage decreases by ~0.6KB on Pixhawk 4 
> \- I think if we have a general solution for the SPI vs. I2C device interface, we can get rid of the \`instantiate\` method.
> \- The (SPI) bus will only be accessed from the work queue, allowing to remove the SPI locking after all drivers are converted.
> 
> \### Testing
> Tested on:
> \- Pixhawk 2
> \- RPi with Navio2
> \- Pixracer
> \- Pixhawk 4
> \- KakuteF7
> 
> @UAV-Pilot this will conflict with https://github.com/PX4/Firmware/pull/14168 and I was hoping to get yours in first.
> 
> @dagar since you will probably have the fun to review this, let me know if you want to bring this in steps, and which step size you prefer.

### Commander

- 📝 Significant improvements in the preflight checks user experience.

[https://github.com/PX4/Firmware/pull/14322](https://github.com/PX4/Firmware/pull/14322)

### Estimation

- 🧹 There are a lot of smaller cleanups going on.
- ⚡ The yaw estimator was merged.

[https://github.com/PX4/Firmware/pull/14301](https://github.com/PX4/Firmware/pull/14301)

### VTOL

- 💬 Further discussion needed on how to handle the optional configuration of FMUv2 without VTOL

### Fixed Wing

- 📐 @sfuhrer working on bringing the fixed-wing position controller into the local frame

[https://github.com/PX4/Firmware/pull/14298](https://github.com/PX4/Firmware/pull/14298)

- 🚀 @Jaeyoung-Lim has catapult launch working in simulation, but it’s not part of CI yet.
- ⚠ Fixed-wing is still not supported by MAVSDK.
- ⚠ MAVSDK CI tests cannot do fixed-wing yet.

### Multicopter

- 🚁 Only outdoor testing open [PR 14326](https://github.com/PX4/Firmware/pull/14326)
- 🏄‍♂️ Hover thrust estimator testable by parameter [PR 14378](https://github.com/PX4/Firmware/pull/14378)
- 👍 We should have this for the release, still pending a fix of the integrator problem [PR #14212](https://github.com/PX4/Firmware/pull/14212)

> <https://github.com/PX4/PX4-Autopilot/pull/14326>
>
> \*\*Describe problem solved by this pull request\*\*
> @jkflying reported an effect I…'ve seen before:
> During a normal landing procedure the thrust gets first cut by the reaction to ground detected and then cut by the takeoff logic because the vehicle is back ready for another takeoff.
> !\[image\](https://user-images.githubusercontent.com/4668506/76170595-a4b29b00-6183-11ea-9898-7876a6628941.png)
> 
> The problem is that the thrust and attitude limit while landing is in the loop order after the position controller ran and directly operates on the attitude setpoint skipping the position controllers minimum thrust limit. The takeoff thrust limitation on the other had is before the position controller and amends the input to it.
> 
> \*\*Describe your solution\*\*
> I'm unifying the thrust and attitude limit logic to be in one place where it already was for the takeoff. Both logics for takeoff and landing do these things in common:
> \- cut thrust
> \- set roll pitch level
> \- set yawspeed to zero and yaw setpoint to current yaw
> \- reset position control integral
> 
> I still have to check if reactivating flight task and reseting the hover thrust is also desired otherwise they can be conditional for just the takeoff.
> 
> \*\*Describe possible alternatives\*\*
> It's not 100% clear to me if \`MPC\_THR\_MIN\` should be the minimum thrust at all times even during landing and takeoff or if the takeoff ramp should always start at zero thrust and thrust should go down to zero after landing.
> 
> \*\*Test data / coverage\*\*
> Quick SITL test, needs more testing and review.

> <https://github.com/PX4/PX4-Autopilot/pull/14378>
>
> Follows #14182
> 
> Summary of the changes:
> \- Use a low-passed value of the signe…d innovation test ratio to trigger
> the state variance boost. The threshold of 0.2 has been chosen using log
> replay and simulation scenarii.
> \- Do not reset the learned accel noise during a state variance boost.
> After a few tests, this does not seem to help at all.
> \- Continue to learn the accel noise even if the measurement got rejected
> to avoid ignoring sudden changes of noise
> \- Lower the acceleration noise time constant and increase min/max
> values to avoid learning quickly a small variance that could temporary
> destabilize the filter
> \- Update filter time constants. Increasing the speed of the residual lpf
> improves the quality of the learned accel noise
> 
> Replay from log https://review.px4.io/plot\_app?log=82ee3e29-5422-450b-8030-df6a93b81a88 (given by the test team: https://github.com/PX4/Firmware/pull/14182#issuecomment-592782692)
> 
> Original data:
> !\[2020-03-12\_18-04-27\_01\_plot\](https://user-images.githubusercontent.com/14822839/76546511-edbc6500-648b-11ea-80a1-7bedb7fdbe50.png)
> 
> Replayed with tunning proposed by this PR:
> !\[replay82ee3e29\](https://user-images.githubusercontent.com/14822839/76545549-3f63f000-648a-11ea-84ce-a6cb97487c05.png):

[https://github.com/PX4/Firmware/pull/14212](https://github.com/PX4/Firmware/pull/14212)

### MAVSDK

- 💡 Improved testing ready to be merged, running in CI, giving better feedback
- 📌 Next step: extend to automated real-world testing

[https://github.com/PX4/Firmware/pull/14296](https://github.com/PX4/Firmware/pull/14296)

### MAVROS / RTPS / ROS2

- 🛠 @TSC21 porting avoidance to ROS2

### Avoidance

- ✨ New MAVROS support for the bezier interface that was later added to the flight control. @jkflying

### Simulation

- ⚠ @Jaeyoung-Lim MacOS homebrew has conflicting dependencies and is currently broken. There will be a fix soon.

## Roadmap, and Release discussion

- PX4 v1.11 Release Notes
- Beta flight-testing.

[https://github.com/PX4/Firmware/issues/14402](https://github.com/PX4/Firmware/issues/14402)

> **[PX4 v1.11.0-beta Flight Testing](https://docs.google.com/document/d/1aR-OOreG7DofMyhda3AMxaSHwC5Tzf9vcLycpAIBXn0/edit?usp=sharing)**
>
> PX4 v1.11.0-beta Flight Testing The PX4 Dev Team needs your help flight testing the v1.11.0-beta release. We are releasing a lot of features and pushing major stability improvements that require extra testing. Please help us review the release notes...

Discussions about when to cut a feature freeze. @dagar is concerned about e.g., the CPU load on some older resource-constrained boards. These might require additional driver “features” to improve performance. It’s a fine line between freezing and slipping the release. We should have a low barrier beta announced, but make sure the testers don’t have a horrific experience.

The hover thrust estimator could be enabled by default in the beta, and in case we still find any significant issues, we could always disable it for the release.

> <https://github.com/PX4/PX4-Autopilot/pull/14419>
>
> Following the decision taken during today's DevCall, we're going to enable the h…over thrust estimator by default for the beta to see if there are any issues. We can still disable just before the release if we see that something is really broken and that we can't fix it immediately.
> 
> FYI: @mrpollo

## In-Depth discussions

@JulianOes

- Way forward with PX4 unit tests, ntest, gtest:  
[Adding ntest for unit testing on NuttX by julianoes · Pull Request #12106 · PX4/PX4-Autopilot · GitHub](https://github.com/PX4/Firmware/pull/12106)  
[test\_and\_ci: more notes about mavsdk\_tests by julianoes · Pull Request #982 · PX4/PX4-Devguide · GitHub](https://github.com/PX4/Devguide/pull/982)

Idea making C++ standard library available on the MCU might also help for UAVCAN 1.0. But that’s a big task. The proposition to get existing unit tests that are now SITL test over to gtest. What’s necessary on the MCU is a HITL style integration test with realistic timing and all drivers still running in the background with constant monitoring of all the resources during flight.

@dagar How do we handle the optional configuration of FMUv2 without VTOL? (from above)  
It’s not currently possible to have a VTOL only/enabled build for FMUv2. We’d need a way to strip out unused airframes to make an FMUv2 VTOL build, @LorenzMeier seems to have some ideas to do that.

## Community Q&A

coder\_kalyan:

- Difference between Main and AUX output, he wants to have his Octocopter running with DSHOT?
- Is there support for brushed motor output to control a non-BLDC motor? @dagar offered pointers offline
- The idea about redundant RC values via duplicate MAVLink. We have to be careful about link differences e.g., latency. It might require a high complexity, and that could induce more failure cases than what we have right now.
- In mission mode or autonomous landing, there’s ALT1 and ALT2 to slow down the landing. Questions about how it works and how to configure not to land too slow or too fast. @MaEtUgR offered offline suggestions.

### PX4 Dev Summit

by @rroche

Survey about postponing, canceling for this year?  
We canceled until further notice. We’ll do our best to have an in-person event, and we’ll wait that out no matter how long it takes.

* * *

## Errata and Feedback

Let me know below if I failed to capture anything the right way, and if there are any updates, or you have feedback on the call format.

---

<div class="post-metadata">

**Author:** ![BazookaJoe1900](https://discuss.px4.io/user_avatar/discuss.px4.io/bazookajoe1900/32/4631_2.png) [@BazookaJoe1900](https://discuss.px4.io/u/BazookaJoe1900)\
**Post date:** [March 19, 2020, 3:46pm UTC](https://discuss.px4.io/t/px4-dev-call-march-18-2020/15653/2 "2020-03-19T15:46:14Z")

</div>

about the redundant link issue that was talked on call.  
I see that there is already singing mehcanision:  
[https://mavlink.io/en/guide/message\_signing.html](https://mavlink.io/en/guide/message_signing.html)  
that can be used

---

<div class="post-metadata">

**Author:** ![rroche](https://discuss.px4.io/user_avatar/discuss.px4.io/rroche/32/17635_2.png) [@rroche](https://discuss.px4.io/u/rroche)\
**Post date:** [March 23, 2020, 6:29pm UTC](https://discuss.px4.io/t/px4-dev-call-march-18-2020/15653/3 "2020-03-23T18:29:37Z")

</div>

Thanks to everyone who sent their notes and contributed to the call this week. 🎉
