# PX4 Dev Call: November 02, 2022

**URL:** <https://discuss.px4.io/t/px4-dev-call-november-02-2022/29527>\
**Category:** PX4 Autopilot\
**Created:** [October 26, 2022, 5:01pm UTC](https://discuss.px4.io/t/px4-dev-call-november-02-2022/29527 "2022-10-26T17:01:13Z")\
**Posts on this page:** 1\
**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:** [October 26, 2022, 5:01pm UTC](https://discuss.px4.io/t/px4-dev-call-november-02-2022/29527/1 "2022-10-26T17:01:13Z")

</div>

# November 02, 2022

## Join us

> **[Jitsi Meet](https://meet.jit.si/PX4DeveloperCallWeekly)**
>
> Join a WebRTC video conference powered by the Jitsi Videobridge

## Agenda

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

## 📢 Community Announcement

**Last FW/VTOL Meeting**

> [@FW/VTOL Call: October 25, 2022](https://discuss.px4.io/t/fw-vtol-call-october-25-2022/29505):
>
> October 25, 2022 Issues from last meeting FW runway landing / takeoff revisions@tstastny will make PR this week-ish all agreed best to use path following through flare, add slip controller later ECL flattening FIRST clean up fw attitude control (rate control PR from @Jaeyoung-Lim ) Pro/con list of simulators@Jaeyoung-Lim made a first list here: [https://docs.google.com/document/d/17jWC1Qp0iaDIYFEHh6LgLl9MwtPBVXVsDagZxYP\_3h4/edit?usp=sharing](https://docs.google.com/document/d/17jWC1Qp0iaDIYFEHh6LgLl9MwtPBVXVsDagZxYP_3h4/edit?usp=sharing)@ryanjAA will add more info on research sim cata…

* * *

## 🧑‍🤝‍🧑 Community Q&A (No deep technical discussions)

* * *

### ❗ Guideline for asking a Question

1. Specify what you are trying to **achieve**
2. Specify what environment / **platform** you are using
3. Prepare a **Link** or **Document** to help understand if possible
4. First, ask the question on the **Slack** or [create a **Github Issue**](https://github.com/PX4/PX4-Autopilot/issues/new/choose)!
5. If you take over 5 minutes for the question, please continue in Slack or a Github Issue.

### Q.1 : Gimbal control via MAVSDK is - Farhang

- The issue is that old gimbal commands are not imported in MAVSDK 0.33.0 Mission import.
- @JulianOes With newer MAVSDK versions the import has moved to the MissionRaw plugin which allows to import any sort of missions, and that should fix it. Updating MAVSDK should not be an issue as it tries to be mostly backwards compatible.

## 👷‍♀️ Project Updates

* * *

### P.1 : Frames (airframe) component metadata support - @junwoo0914

![https://raw.githubusercontent.com/junwoo091400/PX4-Airframe-Metadata-support/master/Frames_CompMetadata_Demo.gif](https://raw.githubusercontent.com/junwoo091400/PX4-Airframe-Metadata-support/master/Frames_CompMetadata_Demo.gif)

> <https://github.com/mavlink/mavlink/pull/1908>
>
> \## About
> This is a MAVLink part for the Airframe selection improvement project …I have been working on for the last 2 weeks.
> 
> Frame metadata is meant to serve as a definite reference that can be dynamically fetched by the GCS (as done with all other component metadata), to show the frames that are actually supported.
> 
> Additionally, the frame JSON schema is defined in a way where we can structure the frames within another frame in a cascaded fashion, which enables a User-Interface workflow that wasn't possible before, which is a JSON- defined Frame selection workflow.
> 
> This is best demonstrated by the GIF below.
> 
> \### Notes
> For now, the JSON Schema & Examples were fetched from \[this commit\](https://github.com/junwoo091400/PX4-Airframe-Metadata-support/commit/75d54c40dd234959ab284604fc6c3942c909ef09) in my Qt UI repository.
> 
> This is what will eventually happen to \[this\](https://github.com/mavlink/qgroundcontrol/pull/10343) too I hope, as having MAVLink defined schema would make it easier for different Autopilots to agree on the format used by the QGC / Mission Planner.
> 
> \### Frames metadata example
> As included as part of the PR, the Frames JSON file would look something like this:
> 
> \`\`\`json
> {
> "version": 1,
> 
> "settings": {
> "frame\_id\_parameter": "SYS\_AUTOSTART"
> },
> 
> "frames\_v1": \[
> {
> "name": "multicopter",
> "type": "group",
> "description": "Rotary vehicles with multiple rotors to lift it's body",
> "image": "Multirotor",
> "subgroups": \[
> {
> "name": "generic multicopter",
> "type": "frame",
> "description": "Generic multicopter with customizable number of rotors",
> "image": "",
> "frame\_id": 1300
> },
> {
> "name": "quadcopter",
> "type": "group",
> "description": "Multicopters with 4 rotors",
> "image": "Quadrotor",
> "subgroups": \[
> {
> "name": "Holybro X500 v2",
> "type": "frame",
> "description": "Holybro's X500 V2 frame kit",
> "manufacturer": "Holybro",
> "image-custom": "holybro\_x500\_v2",
> "url": "http://www.holybro.com/product/x500-v2-kit/",
> "frame\_id": 1313
> }
> \]
> },
> {
> "name": "hexacopter",
> "type": "group",
> "description": "Multicopters with 6 rotors",
> "image": "Hexarotor",
> "subgroups": \[
> {
> "name": "Yuneec H520E Hexacopter",
> "type": "frame",
> "description": "Yuneec H520E Hexacopter with a camera & landing gear",
> "manufacturer": "Yuneec",
> "image-custom": "yuneec\_h520e",
> "url": "https://www.conrad.ch/de/p/yuneec-h520e-speccombo-hexacopter-rtf-profi-kameraflug-mit-waermebild-orange-schwarz-2450997.html",
> "frame\_id": 1254
> },
> {
> "name": "Vector Hexacopter 2.2",
> "type": "frame",
> "description": "Yuneec H520E Hexacopter with a camera & landing gear",
> "manufacturer": "Vision Aerial",
> "image-custom": "vision\_vector\_hexacopter",
> "url": "https://visionaerial.com/product/vector-hexacopter/",
> "frame\_id": 1532
> }
> \]
> }
> \]
> }
> \]
> }
> \`\`\`
> 
> \### Final GCS outcome demo
> 
> !\[Demo\](https://github.com/junwoo091400/PX4-Airframe-Metadata-support/raw/master/Frames\_CompMetadata\_Demo.gif)
> 
> This is from the \[Qt application repository\](https://github.com/junwoo091400/PX4-Airframe-Metadata-support#px4-frame-metadata-support-test-repository) linked below.
> 
> \### Resources
> \- You can check out the progress / details of this project in the document here: https://docs.google.com/document/d/1wpGDQyJLv3AHAqMH-vxWuZ1HYksX7oq\_vldEXCbxmPI/edit#
> \- This is a standalone Qt application that implements the Visualization / parsing of the Frames metadata, which will get ported over to QGC: https://github.com/junwoo091400/PX4-Airframe-Metadata-support
> 
> \## Contents
> \- Added JSON schema and example file for the Frames componenet metadata
> 
> \## Description
> \- This adds a new metadata type 'Frames' for supporting dynamically loading the supported frames from the Autopilot to the GCS
> \- Frame is a generic term for a previously used term \`Airframe\`, to inclusively bundle ground vehicle / boat / etc, not just aerial vehicles
> \- The Frame JSON structure is recursive, and any frame can contain many other frames in it's sub-group, which also defines the GCS user selection workflow (Starting from high level, down to low level)
> \- Schema also needs to be updated whenever there's a new type of a vehicle that we need to add an image for, in order to have a valid \`image\` Enumerator string tag
> \- The frames are in a list, to make sure we preserve the order, in order to deliver a consistent GCS usage experience
> 
> \## TODOs
> \- \[x\] Create QGC Implementation for supporting Frames metadata: https://github.com/mavlink/qgroundcontrol/pull/10472

> <https://github.com/mavlink/qgroundcontrol/pull/10472>
>
> \## Description
> This is the QGC implementation of https://github.com/mavlink/mav…link/pull/1908
> 
> It will eventually look something like this in QGC:
> !\[Demo\](https://github.com/junwoo091400/PX4-Airframe-Metadata-support/raw/master/Frames\_CompMetadata\_Demo.gif)
> 
> \### What will be implemented
> 1. Support for Frames component metadata
> 2. New metadata based Frames visualization page (Fallback to old Frames page, if metadata isn't supported by the target)
> 
> \## TODOs
> \- \[x\] Initial crude porting of the files from the \[standalone Qt application\](https://github.com/junwoo091400/PX4-Airframe-Metadata-support/commit/75d54c40dd234959ab284604fc6c3942c909ef09)
> \- \[x\] Refactor to expose the new Frames page in QML in the Airframes tab, and rename the tab to \`Frames\` :stuck\_out\_tongue: 
> \- \[x\] Implement (temporary) way to visualize the \`frames.example.json\` from the MAVLink PR, to test functionality
> \- \[\] Iterate on the UI design, to make it more intuitive (maybe Animation)
> \- \[\] Implement Component Metadata fetching part from the Autopilot
> \- \[\] Implement Component Metadata generation in PX4 (To be updated)
> \- \[\] Test the whole system in action with a PX4 target containing the new Frames metadata!

- Why can’t we use a Control allocation better? \<\< Effort worth spent
- Then we can remove the dependency to the image assets.
- We can transform the concept of an ‘Airframe’ as a helper for specifying Control Allocation parameters
- Ideally: We will have everything defined in the control allocation.
- What will be an Airframe be in the future: Not just a like a script.

David: If we don’t have an access to the GCS, how are you supposed to run different setups? (E.g. setting PWM configs).

- Had to debug something, and bringing back the params
- Right now it is not possible to export (backup) a param & load it back in via the Console interface.

## 🤔 General Discussions

* * *

### D.1 : multicopter feed forward control logic wrong in rate control - Sander

Hi, I have a question about the MC rate controller. I’ve noticed that PX4 differs here from other firmwares in that PX4 uses the rate setpoint with the feed forward term while other firmwares (betaflight etc) use the derivative of the rate setpoint.

What is the reason for using the actual setpoint and are there any benefits of using either?

**The feed forward is multiplied with the setpoint instead of the derivative of the setpoin** t. This way you cannot tune the feed forward in a meaningful way. The feed forward should cause the requested change of angular rate, not give a constant output proportional to the requested rate.

- Currently the FF term only account for the damping.
- Discord message [link](https://discordapp.com/channels/1022170275984457759/1022185931316404264/1037050789337763960)
- Action Item: Address the proposal of a new structure multicopter rate control in discord (With block diagrams! 🎁) - Sander

### D.2 : 100% Thrust issue

> <https://github.com/PX4/PX4-Autopilot/issues/20275>
>
> On recent main, occasionally I will get 100% thrust from the position controller…. 
> 
> This is with multiple baros and a rangefinder.
> 
> Took off in position mode, then it went full thrust.
> https://review.px4.io/plot\_app?log=f0acb7d2-7d1e-4ec9-92ca-0a816fd131f8
> 
> I was trying to land, sitting on the ground waiting for it to disarm. It wouldn't disarm so I throttled back up a bit to try again and it went 100% thrust.
> https://review.px4.io/plot\_app?log=10ece277-09e1-4e67-be8e-ca7b87b7555e

- Integrator seems to be causing the takeoff behavior
- Seems to happen when the **hoverThrust** gets set

[https://github.com/PX4/PX4-Autopilot/commit/57fa9c545aefceef6adef82b454f72990c84e8a9](https://github.com/PX4/PX4-Autopilot/commit/57fa9c545aefceef6adef82b454f72990c84e8a9)

- Mathieu: Probably a race condition. Maybe land detector
- Could be interesting to try with a recently merged PR on land detector: [MC Land Detector: try to make simpler to tune and less likely to detect early takeoffs, plus improve logging by sfuhrer · Pull Request #20425 · PX4/PX4-Autopilot · GitHub](https://github.com/PX4/PX4-Autopilot/pull/20425)
- If anyone else can test, would be appreciated!

### D.3 : NuttX upgrade

> <https://github.com/PX4/PX4-Autopilot/pull/20190#issuecomment-1300820967>
>
> @dagar - v5 stack check is now running

With this fix, the Cannode of Alex started working. Would be nice to have more Cannode developers testing on it.

Output of `ver all` inside the NSH, NuttX tag is wrongly displayed.

### D.4 : Preflight checks are failing in the middle of the flight recently - Jay

[https://github.com/PX4/PX4-Autopilot/issues/20503](https://github.com/PX4/PX4-Autopilot/issues/20503)

- Probably a regression that are getting checked during the flight.
- [This](https://github.com/PX4/PX4-Autopilot/pull/20450/files#diff-61d9b9f86ef33be4a6b79cfa1df04ceb6c2464dc1179de837d661a23e71732afR262) should have fixed it?

“Do I need to be concerned?”  
-Wise Old Man (1899, c.a.)

We need to capture the context of internal/mag, and handle that in estimator well, to reduce these errors. Most of the internal mags are just good enough to fly & complains.

## 📅 Weekly Overview

* * *

### 🐁 Github

> [Recently updated Issues / PRs in PX4-Autopilot Link](https://github.com/PX4/PX4-Autopilot/issues?q=sort%3Aupdated-desc)

**Pull Requests**  
Lightware Lidar serial driver tested, works w/ collision prevention -needs review

> <https://github.com/PX4/PX4-Autopilot/pull/19891>
>
> Lightware SF45/B rotating distance sensor driver that publishes distance and yaw… angle (through the obstacle distance sensor message). Preliminary testing I show the sensor is able to detect obstacles:
> 
> !\[Screenshot from 2022-12-29 11-52-46\](https://user-images.githubusercontent.com/35986980/210007286-257af903-7d7e-4332-865a-606053440c08.png)
> 
> !\[Screenshot from 2022-07-08 10-14-28\](https://user-images.githubusercontent.com/35986980/178021450-a02bed6b-8676-461c-8670-b361adf25a0f.png)
> !\[Screenshot from 2022-07-08 10-14-35\](https://user-images.githubusercontent.com/35986980/178021479-f3f10f04-d022-4cd5-ba83-3c5181ba76c0.png)
> 
> I am able to publish to obstacle distance msg and I see valid distance values moving through the bins. It is also stopping before collision with an obstacle if within CP distance defined in the parameters (tested using 3m).
> 
> Ardupilot has a working driver that can be used as a reference \[here\](https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP\_Proximity/AP\_Proximity\_LightWareSF45B.cpp)
> 
> Additionally, Lightware has a sample cpp library on their github. 
> 
> Serial driver defaults to TEL1 due to the power requirements of the sensor which is documented \[here\](http://support.lightware.co.za/sf45b/#/pixhawk) It is possible to change this default for newer boards that have other uarts that satisfy the power requirements, this can be done through SENS\_EN\_SF45 parameter. Baud rate is set to 115200. 
> 
> Update rate defaults to 50hz, but I have tested at higher rates. This can be set by parameter.
> 
> Orientation (upright or upside down mounting) parameter is available, will have to verify the yaw corrections for the upside down mounting is correct. There is also a yaw configuration parameter that allows user to have sensor face in a different direction other than default forward facing.
> 
> An I2C driver can be implemented but does not permit continuous streaming of distance data.
> 
> The lightware sf45 can be configured in the Lightware Studio \[software\](https://lightwarelidar.com/pages/lightware-studio) to set the Baud rate before connecting to Pixhawk, additionally the scan angle can be changed for the largest field of view possible: 0-160 and -160 to 0
> 
> !\[Screenshot from 2022-07-08 10-32-15\](https://user-images.githubusercontent.com/35986980/178024065-f837572a-50d4-44d6-a7b5-ab49f6b3d71f.png)
> 
> Future considerations: Parameters to map sectors around the airframe to ignore (e.g. gps mast).
> 
> @dagar I can send you the sensor if you would like your own to test.
> @davids5 the serial port local options appear to work, let me know if it needs refinement or extra comments to explain the serial options configuration

INA220 driver

> <https://github.com/PX4/PX4-Autopilot/pull/20504>
>
> \## Describe problem solved by this pull request
> Adds the INA220 driver
> 
> \## De…scribe your solution
> based on the INA226 driver
> 
> \## Test data / coverage
> Tested using an ina220 and validated current voltage readings were accurate compared to multi-meter

Cannode PWM support - Alex  
[https://github.com/PX4/PX4-Autopilot/pull/19748](https://github.com/PX4/PX4-Autopilot/pull/19748)

**Issues**

### 💻 Slack

### ☎ Last Dev-Call

> [PX4 Dev Call: October 26, 2022](https://discuss.px4.io/t/px4-dev-call-october-26-2022/29449/2)

- 

## ❗ High priority queue

* * *

Discussion based on: [https://github.com/orgs/PX4/projects/24](https://github.com/orgs/PX4/projects/24)

## 🌾 Release

* * *
