PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.57k stars 13.55k forks source link

PX4 SITL Tests Improvements #23965

Open mrpollo opened 1 week ago

mrpollo commented 1 week ago

We need to improve the current SITL tests.

Stage 1

Stage 2

MaEtUgR commented 5 days ago

Can we coordinate on fixing the tests instead of just disabling them. I'm pretty sure they point us to real issues and we just gloss over because it's too hard to figure out what's going on in an hour.

I see two failure cases:

  1. VTOL related to airspeed validation dropping out grafik

  2. Multicopter almost any test type can time out without arming because "ekf2 missing data" grafik

    • It's running multi EKF ~and the failing test at least had instance_changed_count 1~ passing tests as well.
    • Blindly increasing timeouts like in https://github.com/PX4/PX4-Autopilot/pull/23892 doesn't help because the state is screwed.
mrpollo commented 5 days ago

Yes, @MaEtUgR, we are changing gears here and started working on fixing the tests after we fixed the noisy issues that were hiding the real problems

dagar commented 5 days ago

This one looks real, during RTL there's a bogus "Pilot took over using sticks" and we have a fly away.

standard_vtol: 'RTL with Mission Landing': failed https://github.com/PX4/PX4-Autopilot/actions/runs/11957851318/job/33335973614

https://logs.px4.io/plot_app?log=e0673b3c-8514-4390-b3ee-d00a317b17e3

image

MaEtUgR commented 5 days ago

A shot in the dark. Probably not the issue but might give us more insights also if it only rules out multi-EKF: https://github.com/PX4/PX4-Autopilot/pull/24017

MaEtUgR commented 5 days ago

@dagar Regarding pilot took over I'm confused. Plotjuggler doesn't show this message (event?). As expected there's no valid stick input and also never a sticks moving flag. The mode never changes to Position or indicates switching to Position/Altitude is not possible but that would be what "Pilot took over" stands for. grafik

EDIT: Manual control is neither updated nor valid, nor moving. So I'd put my bet on the message being mixed up 🤔 https://github.com/PX4/PX4-Autopilot/blob/2f65644aeb5cb4c2023e43ac45d8a9b01d0584ba/src/modules/commander/Commander.cpp#L2925-L2933