Skip to content
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

Stabilizer task blocks due to gyro failure, freezing flight control #1406

Closed
gemenerik opened this issue Sep 2, 2024 · 0 comments · Fixed by #1415
Closed

Stabilizer task blocks due to gyro failure, freezing flight control #1406

gemenerik opened this issue Sep 2, 2024 · 0 comments · Fixed by #1415
Labels

Comments

@gemenerik
Copy link
Member

gemenerik commented Sep 2, 2024

When the gyro sensor stops sending data unexpectedly, the stabilizer task can become blocked here. This causes all processes dependent on the stabilizer to freeze. The rate supervisor task does not appear to be designed to detect a complete block in the stabilizer task, nor does it take any corrective action beyond printing a warning.

This issue was observed on a Crazyflie at the office, where the gyro sensor tends to fail mid-flight, particularly under high thrust conditions. When this occurs, the Crazyflie gets stuck at high thrust. @tobbeanton confirmed the gyro failure by observing a complete absence of data interrupts using an oscilloscope.

Other parts of the system, like USB connectivity and cfclient plotting, continue to function normally.

Steps to Reproduce:

  • Use a Crazyflie equipped with a gyro sensor that has a history of failing.
  • Perform a flight with high thrust maneuvers.
  • Observe if stabilizer-dependent tasks freeze when the gyro stops sending data.

Expected Behavior: The system should handle gyro sensor failures gracefully, preventing the stabilizer task from blocking and allowing dependent processes to cut the motors.

Actual Behavior: The stabilizer task blocks, causing all dependent processes to freeze, which can result in the Crazyflie being stuck at high thrust 🙈

@gemenerik gemenerik added the bug label Sep 2, 2024
@gemenerik gemenerik linked a pull request Oct 8, 2024 that will close this issue
vBruegge pushed a commit to vBruegge/crazyflie-firmware that referenced this issue Oct 21, 2024
By putting the stabilizer rate supervisor in its own task.
Fixes bitcraze#1406
vBruegge pushed a commit to vBruegge/crazyflie-firmware that referenced this issue Oct 21, 2024
By putting the stabilizer rate supervisor in its own task.
Fixes bitcraze#1406
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant