Fault-tolerant control is crucial for safety-critical systems, such as quadrotors. State-of-art flight controllers can stabilize and control a quadrotor even when subjected to the complete loss of a rotor. However, these methods rely on external sensors, such as GPS or motion capture systems, for state estimation. To the best of our knowledge, this has not yet been achieved with only onboard sensors. In this work, we propose the first algorithm that combines fault-tolerant control and onboard vision-based state estimation to achieve position control of a quadrotor subjected to complete failure of one rotor. Experimental validations show that our approach is able to accurately control the position of a quadrotor during a motor failure scenario, without the aid of any external sensors. The primary challenge to vision-based state estimation stems from the inevitable high-speed yaw rotation (over 20 rad/s) of the damaged quadrotor, causing motion blur to cameras, which is detrimental to visual-inertial odometry (VIO). We compare two types of visual inputs to the vision-based state estimation algorithm: standard frames and events. Experimental results show the advantage of using an event camera, especially in low light environments due to its inherent high dynamic range and high temporal resolution. We believe that our approach will render autonomous quadrotors safer in both GPS denied or degraded environments. We release both our controller and VIO algorithm open source.
Reference:
S.Sun, G. Cioffi, C. de Visser, D. Scaramuzza
Autonomous Quadrotor Flight despite Rotor Failure with Onboard Vision Sensors: Frames vs. Events.
IEEE Robotics and Automation Letters (RA-L), 2021
PDF: http://rpg.ifi.uzh.ch/docs/RAL21_Sun.pdf
Project Code:
https://github.com/uzh-rpg/fault_tolerant_control
For more information about our research, visit these pages:
1. Vision-based quadrotor flight: http://rpg.ifi.uzh.ch/research_mav.html
2. Drone Racing: http://rpg.ifi.uzh.ch/research_drone_racing.html
3. Aggressive flight: http://rpg.ifi.uzh.ch/aggressive_flight.html
4. Deep Learning: http://rpg.ifi.uzh.ch/research_learning.html
Affiliations:
S. Sun, G.Cioffi and D. Scaramuzza are with the Robotics and Perception Group, Dep. of Informatics, University of Zurich, and Dep. of Neuroinformatics, University of Zurich and ETH Zurich, Switzerland
http://rpg.ifi.uzh.ch/
C. de Visser is with the Control and Simulation Group, Faculty of Aerospace Engineering, Delft University of Technology, the Netherlands.
http://cs.lr.tudelft.nl/
Thank you!
Thank you for sharing.
Amazing work!
Wow, really impressive.
That poor quadcopter is gonna be dizzy for a week 😉
Like your work, very impressive. Too bad event cams are not yet affordable but hopefully your work will accelerate their adoption by manufacturers.
Btw can you manage a “safe” landing under the failed motor circumstances?
Batteries and Chargers provide reliable Batteries and Chargers that reduce your power cost and improve energy efficiency. We also offer reliable Smart Devices, Flashlights, Mobile Phone Holders, Power Banks, and other electronics items with the highest quality that meet the industry standards.
Importantly, it seems any quad with dedicated VIO cameras should be able to implement this stability code. It also sound like this sort of safety should be possible when NOT in a GPS-denied environment for any GPS-enabled quad.
I would love to get wind of these kind of safety features being implemented in a code update to the Evo 2 series. At the very least, even with poor visibility, you should be able to safely reduce altitude to a height where cutting motor thrust won’t cause damage from the fall.
Can someone please implement this into BetaFlight ?