I am working on developing Fault Tolerant Controllers (FTCs) for UAVs, and I am using AR Drone 2 as my experimental platform. Fault Tolerant Controllers are controllers (FTCs) that can afford a given amount of fault that affect the system's actuators and/or dynamics. A major problem for quadrotor FTCs is the total loss of a rotor. Quadrotors are under-actuated systems (their actuators are less than their Degrees Of Freedom DOF), which means that any total loss/failure of an actuator results in the total loss of control of the quadrotor.
I developed a new emergency controller for quadrotor UAVs based on flying the quadrotor as a trirotor. When one of the rotors is severely damaged, or fails, the controller stops this rotor and continues flying the quadrotor as a trirotor. This is possible only if a weight redistribution maneuver is applied. The emergency controller manages to fly the quadrotor but with uncontrolled yaw, which means that the quadrotor spins continuously around its z axis while following its desired path. Simulation results using MATLAB show the applicability and reliability of the proposed emergency controller.
Sorry for this long but essential explanation. Now I would like to apply this emergency controller on real quadrotors, and I have chosen AR Drone 2 for its simplicity and low cost. I am using the MATLAB/SIMULINK code written by David Escobar Sanabria and Pieter J. Mosterman that I have downloaded from MATLAB file exchange : http://www.mathworks.com/matlabcentral/ ... t-kit-v1-1
Using this kit, I was able to control the AR Drone 2 in + configuration instead of x configuration. In + configuration, rotor 1 is in the front and x-axis of the drone is along rotor 1. x configuration has rotors 1 and 2 as front rotors. I was able to apply this transformation (x to +) by using the rotor speeds to control laws equations for both x and + configurations. The AR Drone 2 is now able to fly in + configuration and perform pre-defined paths as intended.
When I applied the emergency controller to fly the quadrotor as trirotor (with rotors 2, 3, and 4, stopping rotor 1), I realized that I am not able to stop rotor 1! From the "Baseline Controller" I am getting the correcting controls of the quadrotor needed to control if to follow the desired path. Using these controls I am calculating the rotor speeds that give these controls. I then multiply the speed of rotor 1 by ZERO, and use the rotor speeds to calculate the controls again (these controls have rotor 1 speed zero). In the simulation the program works perfectly, rotor 1 stops, and the quadrotor continues its path as a trirotor. On the real AR Drone 2, and in the Simulink code, the speed of rotor 1 is shown to be zero at the time the conversion command is given. However, rotor 1 continues to turn on the drone platform. In his master thesis entitled "Grey-Box System Identification of a Quadrotor UAV", Mr. Qianying Li has shown that the minimum possible speed of a motor is 1141.7 rad/sec (page 17). The question is, how can I stop motor 1 completely while ensuring the normal control of the drone? how to realize this stop using MATLAB/SIMULINK ar-drone-simulink-development-kit-v1-1? this is essential because the code is finished using this kit, and only stopping the motor remains.
Thank you in advance, and sorry for the long thread.
Note: this thread was also posted in "PARROT AR.DRONE & AR.DRONE 2.0 FORUM". Currently, this forum allows registration only to the French forum, which is hacked by advertisers, so I decided to post this thread here.
Mirumod, Macgyver, hull, cam, propeller, leg, cross, ball bearing mods... etc.
2 posts • Page 1 of 1
Users browsing this forum: No registered users and 8 guests