PX4 Sync / Q&A: Mar 05, 2025
Dronecode Calendar
Agenda
Announcements
Future Events
Flight Testing Update
Release Discussion
Bug Report / Q&A
Announcements
Maintainers Meeting
We need to discuss a few Quality and Functional Safety improvements
Including release cadence, and testing updates
All maintainers should join, an agenda will be distributed shortly
Ramon will be contacting everyone directly via email to coordinate a date/time
Next Dronecode Meetup
Philadelphia, Pennsylvania, USA
Future Events
Flight Testing Update
The team at Ascend Engineering (Chicago). are running flight testing for the community.
How to reach out to the team
GitHub: Tag user @PX4 /testflights
Discord: #flight-testing
Weekly on the PX4 Dev Call
How to Request Testing (GitHub)
Write down the steps to test your issue/pull request
Make sure to note the risk involved in flying
Write down things to look out for / anticipate - eg: “we are looking for no yaw jumps”
Add issue/pull request to the Flight Testing project board
Make sure to specify any hardware/software requirements as much as possible
Resources:
Comments / Discussion:
Are we testing Fixed Wing / VTOL: not yet, but platforms are available for bringup
Are we using QGC Daily or Stable: Stable for now, we want to switch to Daily, but once video streaming is fixed in daily.
Release Discussion / Updates
v1.16 Release Discussion
Fixed Wing known blockers: @sfuhrer none on top of mind
Multi Copter known blockers: @MaEtUgR none on top of mind
Optical Flow: @AlexKlimaj we should likely get height estimate fixed in main
@dagar Let’s check the logs to make how to controllers are configured
TODO Let’s make a Test Case for the flight test team so we can validate
Simulation known blockers:
Resources
Bug report / Q&A
[Bug] PX4 Min PWM & Disarm PWM set to same values
opened 06:09PM - 03 Mar 25 UTC
bug-report
### Describe the bug
https://forum.modalai.com/topic/4156/px4-1-16-no-local-pos… ition
When you upgrade between PX4 ver. 1.14 or 1.15 to 1.16 the vehicle doesn't get a valid local position.
EV_CTRL changed from 15 in 1.15 and earlier to 0 in 1.16. Either check this parameter is set to 15 or run "voxl-configure-px4-params -p MRB-D0006" for Starling V1 or "voxl-configure-px4-params -p MRB-D0005-V2" for Starling V2.
### To Reproduce
Upgrade PX4 on VOXL2 starling to 1.16 release
### Expected behavior
Expected behavior is that this parameter stays the same. Stays at 15. The ACTUAL behavior is that it is reset to 0 and gives a "No valid local position" when trying to fly the drone.
### Screenshot / Media
_No response_
### Flight Log
Since it flies fine after manually setting the parameter there is no follow up log
### Software Version
1.16
### Flight controller
VOXL2
### Vehicle type
Multicopter
### How are the different components wired up (including port information)
_No response_
### Additional context
_No response_
Self assigned to @farhang :
PRs needing review
Remove random walk from gazebo-classic models. Currently causing CI SITL tests to fail frequently. See comments in PR:
Discussion:
Let’s have a quick sync between @dakejahl and @Jaeyoung-Lim @dagar so we can address his isssue and fix the overall problems
main
← dakejahl:pr-imu_noise_model_iim42653
opened 03:12AM - 04 Mar 25 UTC
As discussed on the dev call and discord, the random walk causes very poor altit… ude hold. I've updated the IMU plugin to disable random walk by setting the default value to 0. Also updated the noise density to match the IIM42653. I removed the noise params from the IMU plugin in all of the sdf files (use defaults in plugin). If a model needs a different IMU noise model we should handle that on a case by case basis.
PR further improves the build system and adds a template as an example. Docs and gstreamer plugin to be coming:
main
← pr-gz_load_plugins
opened 10:42PM - 03 Mar 25 UTC
See gazebo docs
https://gazebosim.org/api/sim/8/server_config.html
TLDR; the… plugins can be loaded via a config file. This ensures we have all the plugins needed for PX4 without hardcoding them into the world files.
An opportunity to add an ocean world with waves. A barge with an aruco tag would be sweet for testing ship takeoff and landings. This has been a feature people ask about for years. Any other interest? (Relevant plugin repo: GitHub - srmainwaring/asv_wave_sim: This package contains plugins that support the simulation of waves and surface vessels in Gazebo. )
main
← moving_platform_world
opened 09:08AM - 03 Mar 25 UTC
Same as default world, but with a flat platform to simulate shipboard takeoff & … landing.
It will not move on its own. Velocity can be set by publishing a `gz::msgs::Twist` message to `/model/flat_platform/link/platform_link/cmd_vel`, containing velocity and angular velocity. The platform uses the [`gz::sim::systems::VelocityControl`](https://github.com/gazebosim/gz-sim/blob/gz-sim7/src/systems/velocity_control/VelocityControl.cc) plugin to move when receiving these messages. Working example [here](https://github.com/PX4/PX4-Autopilot/compare/pr-fw_ctrl_api...pr-fw_ctrl_api-gazebo_platform).
(the CI check complains that it is not a model SDF file. It's a world SDF file and as such does not need a `model` top level element as checked in [check_sdf.cc](https://github.com/PX4/PX4-gazebo-models/blob/main/sdf_parsing/check_sdf.cc). It is also a valid SDF file in the first place, otherwise the check would exit even earlier and output `worlds/moving_platform.sdf is not a valid SDF file!`. Should the check be disabled for worlds, or extended to handle worlds correctly?)
Want to talk about this as there is some weird behavior when selecting x500 v2 (which is a pretty common airframe)
opened 01:08AM - 05 Mar 25 UTC
bug-report
### Describe the bug
After I reset all parameters to firmware defaults, select … the Holybro x500 airframe, configure everything, and takeoff in stabilized flight mode, the propellers do not spin when armed. Only when we start to throttle up do they start to spin, which could be a bit disorienting for someone trying to bring up a new airframe.
### To Reproduce
1. Reflash PX4
2. Reset all firmware defaults in QGC (Parameters->Tools-> Reset to all firmware defaults)
3. Go through QGC and configure all red tabs (calibrate sensors, assign Flight modes, calibrate RC, etc...)
4. Flip the drone into stabilized flight mode and arm. The motors shouldnt spin
### Expected behavior
Motors spin on arm
### Screenshot / Media
https://www.loom.com/share/f4d51a22a41f447e8565884861672368?sid=35965a9c-a580-4c99-87f3-3da5502c078e

### Flight Log
_No response_
### Software Version
1.16 (but I also see this happening in 1.15)
### Flight controller
Pixhawk 6c
### Vehicle type
None
### How are the different components wired up (including port information)
pwm escs
### Additional context
_No response_
2 Likes
Also want to talk about this
opened 06:09PM - 03 Mar 25 UTC
bug-report
### Describe the bug
https://forum.modalai.com/topic/4156/px4-1-16-no-local-pos… ition
When you upgrade between PX4 ver. 1.14 or 1.15 to 1.16 the vehicle doesn't get a valid local position.
EV_CTRL changed from 15 in 1.15 and earlier to 0 in 1.16. Either check this parameter is set to 15 or run "voxl-configure-px4-params -p MRB-D0006" for Starling V1 or "voxl-configure-px4-params -p MRB-D0005-V2" for Starling V2.
### To Reproduce
Upgrade PX4 on VOXL2 starling to 1.16 release
### Expected behavior
Expected behavior is that this parameter stays the same. Stays at 15. The ACTUAL behavior is that it is reset to 0 and gives a "No valid local position" when trying to fly the drone.
### Screenshot / Media
_No response_
### Flight Log
Since it flies fine after manually setting the parameter there is no follow up log
### Software Version
1.16
### Flight controller
VOXL2
### Vehicle type
Multicopter
### How are the different components wired up (including port information)
_No response_
### Additional context
_No response_
as I can see people getting stuck when updating firmware versions and wondering why their VIO is no longer working
2 Likes
I won’t be on the call tomorrow but there are just a couple of things I wanted to bring up for comment from others.
Remove random walk from gazebo-classic models. Currently causing CI SITL tests to fail frequently. See my comments in PR.
main
← dakejahl:pr-imu_noise_model_iim42653
opened 03:12AM - 04 Mar 25 UTC
As discussed on the dev call and discord, the random walk causes very poor altit… ude hold. I've updated the IMU plugin to disable random walk by setting the default value to 0. Also updated the noise density to match the IIM42653. I removed the noise params from the IMU plugin in all of the sdf files (use defaults in plugin). If a model needs a different IMU noise model we should handle that on a case by case basis.
I’ve been doing a large scale refactor and improving gz sim integration. Recently I added custom plugin support (optical flow), this PR further improves the build system and adds a template as an example. I just wanted to share this, I will work on docs once it’s a little further along. Stay tuned for a gstreamer plugin.
main
← pr-gz_load_plugins
opened 10:42PM - 03 Mar 25 UTC
See gazebo docs
https://gazebosim.org/api/sim/8/server_config.html
TLDR; the… plugins can be loaded via a config file. This ensures we have all the plugins needed for PX4 without hardcoding them into the world files.
I think we should use the opportunity in this PR to add an ocean world with waves. A barge with an aruco tag would be sweet for testing ship takeoff and landings. This has been a feature I’ve seen people ask about for years. Any other interest?
main
← moving_platform_world
opened 09:08AM - 03 Mar 25 UTC
Same as default world, but with a flat platform to simulate shipboard takeoff & … landing.
It will not move on its own. Velocity can be set by publishing a `gz::msgs::Twist` message to `/model/flat_platform/link/platform_link/cmd_vel`, containing velocity and angular velocity. The platform uses the [`gz::sim::systems::VelocityControl`](https://github.com/gazebosim/gz-sim/blob/gz-sim7/src/systems/velocity_control/VelocityControl.cc) plugin to move when receiving these messages. Working example [here](https://github.com/PX4/PX4-Autopilot/compare/pr-fw_ctrl_api...pr-fw_ctrl_api-gazebo_platform).
(the CI check complains that it is not a model SDF file. It's a world SDF file and as such does not need a `model` top level element as checked in [check_sdf.cc](https://github.com/PX4/PX4-gazebo-models/blob/main/sdf_parsing/check_sdf.cc). It is also a valid SDF file in the first place, otherwise the check would exit even earlier and output `worlds/moving_platform.sdf is not a valid SDF file!`. Should the check be disabled for worlds, or extended to handle worlds correctly?)
Plugin repo for the above, for adding waves and surface vessels
This package contains plugins that support the simulation of waves and surface vessels in Gazebo.
2 Likes
rroche
March 5, 2025, 3:37pm
5
Test Card process updates
main
← afwilkin:pr-testcardCleanup
opened 06:18AM - 05 Mar 25 UTC
We are doing more of the flight testing. we are using these test cards as a way … to track what we are doing. Wanted to clean them up a bit so we can expand on them as well
Updated px4-dev container
native multi-arch support for x86 & arm64
based on ubuntu 24.04, using new ubuntu.sh
installs gcc 13 via apt
replaces older containers in our CI infrastructure:
Builds the board matrix with them
main
← mrpollo/build_with_dev_container
opened 01:13AM - 22 Nov 24 UTC
Use the px4-dev container to build and publish all targets
* builds x86, and … arm64 px4-dev images
* conditional to changes in either **ubuntu.sh** or **requirements.txt**
* updates **ubuntu.sh** for installing under both architectures
* fixes a stringop-overflow issue with gcc > 12
* uses the px4-dev container to build the build matrix of all boards
1 Like