-
Notifications
You must be signed in to change notification settings - Fork 14.6k
Add synthetic airspeed based on thrust #24522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fe87eb4
to
130660a
Compare
130660a
to
7dc566e
Compare
3be62de
to
d26a98d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to make sure that the synthetic airspeed is not used by the FW position controller and the VTOL transitions, as it there would do more harm that good.
- transitions would be prematurely declared "done" when the throttle is above a threshold
- FW TECS would consume a throttle based airspeed "measurement" to control the vehicle throttle...
If just about every consumer of airspeed needs to be aware of this and now check would it maybe be less bad to simply publish synthetic airspeed separately? |
I considered that as well, but opted to not push for it because:
|
🔎 FLASH Analysispx4_fmu-v5x [Total VM Diff: 960 byte (0.05 %)]
px4_fmu-v6x [Total VM Diff: -336 byte (-0.02 %)]
Updated: 2025-05-02T09:31:26 |
9b6ed32
to
feafdbb
Compare
2dd5254
to
b6b1ed1
Compare
b6b1ed1
to
a963891
Compare
57d06b4
to
176a565
Compare
176a565
to
7ffd694
Compare
Squashed last two commits and rebased on main. Will merge if CI passes.
I further wonder if we should wait till 1.16 is branched off before merging it. |
Synthetic airspeed is calculated based on the thrust setpoint and the thrust<->airpseed model as configured in the parameters.
Signed-off-by: Silvan <silvan@auterion.com>
- only use data from airspeed_validated topic if source is SENSOR - add 1s timeout (set to NAN if older) - use FW_USE_AIRSPD consitently (treat the same as CAS=NAN) Signed-off-by: Silvan <silvan@auterion.com>
Enable wind-dead-reckoning with airspeed source to synthetic airspeed
Signed-off-by: Silvan <silvan@auterion.com>
953e8b4
to
4f01928
Compare
Is there any doc impact (I assume not). Likely places would be https://docs.px4.io/main/en/advanced_config/tuning_the_ecl_ekf.html#synthetic-sideslip |
Solved Problem
Currently, when an airspeed sensor failure occurs while flying without GNSS/OF/EV, the system triggers a failsafe after five seconds of inertial dead reckoning. However, with a properly tuned system, it is possible to estimate airspeed based on thrust input.
Solution
Synthetic airspeed is estimated based on interpolation between the current thrust and the FW_AIRSPD_xx, FW_THR_ASPD_xx parameter values. For the system to use synthetic airspeed, the ASPD_FALLBACK parameter needs to be adjusted accordingly. The user still receives an airspeed sensor failure warning (RTL recommended) but can continue flying with a valid local position estimate.
Changelog Entry
For release notes:
Test coverage