I was trying to design proportional controller for quadcopter equation of motions roll, pitch and yaw angles.
I tried to build up some equations but when i try to stabilize the step response of my equations, it is impossible to stabilize with proportional controller.
Is there a way to do that or do i have to use pid controller to stabilize the system?
Here is my MATLAB code for stabilizing roll angle with moment of inertia is 0.0089:
H_roll=tf([0 0 1],[0.0089 0 0]);
K=25;
H=(K*H_roll)/(1+(K*H_roll))
step(H)
K=50;
Kd=25;
C=pid(K,0,Kd);
T=feedback(C*H_roll,1);
step(T)
stepinfo(T)
Ki=30;
Cpid=pid(K,Ki,Kd);
Tpid=feedback(Cpid*H_roll,1);
step(Tpid)
stepinfo(Tpid)
Thanks for any answers from now. Regards...
Your transfer function for
H_rollis just double integrator with a gain, which can be seen as exerting a force on a mass on top of a frictionless surface. Now by adding only a proportional controller you effectively add an ideal spring. So once the system with "spring" starts oscillating it will always keep oscillating.However if you instead would use a PD controller, you would basically add a spring and a damper to the system. This system will eventually come to rest, since the "damper" will dissipate away the kinetic energy from the system.