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

Inquiry and discovery of Fault Tolerant control system in PX4 in case of Actuator Faults mid flight. #13857

Closed
ucalyptus opened this issue Jan 5, 2020 · 3 comments

Comments

@ucalyptus
Copy link

ucalyptus commented Jan 5, 2020

I was reading this paper and so I am here to know the scope of this technique in PX4 firmware. I want to know if this can be implemented in PX4 and what should be the overall approach and strategy.
Paper : Actuator Fault Detection and Fault-Tolerant Control for Hexacopter LINK

Some tips would suffice on the overall implementation and design strategy.

Also please note this/similar question was unanswered on the discuss forum link here.

Looking forward to some guidance and insights into the scope of this paper into becoming an actual working implementation in PX4.
cc: @LorenzMeier

Thanks,
Sayantan

@julianoes
Copy link
Contributor

Maybe @jlecoeur you want to comment here.

@jlecoeur
Copy link
Contributor

jlecoeur commented Feb 14, 2020

Hi @ucalyptus
I started working on dynamic mixing to address the fault tolerance part (not the fault detection). You can find it here :
#13351
The approach is to dynamically recompute the mixer in case of motor failure.
Here is a demo with an hexacopter loosing one then two motors:
https://www.youtube.com/watch?v=yR5okaHITpg
Feel free to help if you will, that would be much appreciated!

That said, if all you want is a fault tolerant hexacopter, there would be easier ways. Because the work linked above aims to be applicable for all kinds of robots, it involves computing pseudoinverse on-board, which is pretty involved.
For a more limited case, say an hexacopter in x config, a simpler alternative would be to precompute the mixers for all failure cases (6 times one motor failure cases + 2-among-6 double motor failure cases) at compile time and avoid the pseudoinverse.

@stale
Copy link

stale bot commented May 15, 2020

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 May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants