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

CBRK_VELPOSERR doesn't bypass checks #12258

Closed
tuloski opened this issue Jun 13, 2019 · 5 comments
Closed

CBRK_VELPOSERR doesn't bypass checks #12258

tuloski opened this issue Jun 13, 2019 · 5 comments

Comments

@tuloski
Copy link

tuloski commented Jun 13, 2019

Using this circuit breaker doesn't actually bypass the checks.
It just skips the checks, so that if the position validity was false it will never be true so the copter won't arm or takeoff or whatever it has to do with a valid position.

I don't think that is the correct behavior.
Here: https://github.com/PX4/Firmware/blob/327354705b3519472dd493e687b014ce44c6415d/src/modules/commander/Commander.cpp#L4412-L4431
I'd add at the end an:

else {
status_flags.condition_global_position_valid = true;
status_flags.condition_local_position_valid = true;
status_flags.condition_local_velocity_valid = true;
}
@julianoes
Copy link
Contributor

Thanks for the issue. I think what you're saying is correct. Would you mind creating a pull request to fix it? Thanks.

@stale
Copy link

stale bot commented Dec 19, 2019

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

@stale stale bot added the stale label Dec 19, 2019
@wangwwno1
Copy link
Contributor

wangwwno1 commented Mar 2, 2023

I have fixed this bug in 1.13.2:

const bool run_quality_checks = !_status_flags.circuit_breaker_engaged_posfailure_check;

by simply add the _have_taken_off_since_arming flag after the circuit breaker condition.

	const bool run_quality_checks = !_status_flags.circuit_breaker_engaged_posfailure_check || !_have_taken_off_since_arming;

This change will force the commander to pass the check at least once, then disable it after the copter is in air.

However, the CBRK_VELPOSERR param has been removed in the 1.14-beta1 branch. Perhaps we can just close this issue?
https://github.com/PX4/PX4-Autopilot/blob/c5dc1221b68352725630cbda5c04bc0f5c3c1617/src/lib/circuit_breaker/circuit_breaker_params.c

@stale stale bot removed the stale label Mar 2, 2023
@junwoo091400
Copy link
Contributor

However, the CBRK_VELPOSERR param has been removed in the 1.14-beta1 branch. Perhaps we can just close this issue?

If we don't care about backporting this bugfix to the affected versions in the past, yes it would make sense to close it

@junwoo091400
Copy link
Contributor

Closing since we don't plan on backporting this fix for v1.13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

4 participants