pole placement in M-file
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    cmcm
 el 20 de Jul. de 2013
  
    
    
    
    
    Comentada: Sam Chak
      
      
 el 1 de Mzo. de 2024
            hello every one ... how can i determine (p) in pole placement code K = place(A,B,p)
0 comentarios
Respuesta aceptada
Más respuestas (3)
  Shashank Prasanna
    
 el 20 de Jul. de 2013
        shahad, place is used to perform pole placement using state feedback. The output K is the feedback gain matrix.
PLACE is not an optimal control methodology and does no come up with good p values. It merely attempts to place at the specified location and generates the gain matrix.
You question seems to be related to: How do I generate this stable optimal p?
There are numerous answers to that question but a popular one is linear quadratic controller (LQR):
The first output argument is the gain matrix K and the 3rd output argument 'e' are you poles which are automatically generated when the optimization is performed.
4 comentarios
  Azzi Abdelmalek
      
      
 el 16 de Ag. de 2013
				Shashank, What I mean by optimal poles is poles that provide a system optimal performances (acceptable stability margin, and optimal performances to be defined by the user).
  Azzi Abdelmalek
      
      
 el 20 de Jul. de 2013
        
      Editada: Azzi Abdelmalek
      
      
 el 20 de Jul. de 2013
  
      p is the poles vector you have to impose to your system in closed loop.
Example:
A=[-6 -5;1 0];
b=[1;0]
The size of A is 2x2 then the length of the pole vector p should be 2
p=[-5 -10] % the poles should be stables (real(p)<0)
%or
p=[-2+j -2-j]   
place(A,b,p)
4 comentarios
  Azzi Abdelmalek
      
      
 el 20 de Jul. de 2013
				Like I said the pole to impose should be real or complex numbers with real part obligatory negative. This is enough to get a stable control, for optimal performances, you have to read the effects of poles on the system.
  Nagesh
 el 1 de Mzo. de 2024
        A=[-6 -5;1 0];
b=[1;0]
p=[-5 -10] % the poles should be stables (real(p)<0)
%or
p=[-2+j -2-j]   
place(A,b,p)
1 comentario
  Sam Chak
      
      
 el 1 de Mzo. de 2024
				Hi @Nagesh
Your response didn't fully address the original question. In order to determine the control gain using the place() command, the user must input the poles that result in the Hurwitz characteristic polynomial. These poles specifically correspond to the closed-loop system and generate the desired response specified by the user. Your answer deserves votes if you could provide a practical example to illustrate this.
Let's consider a simple Double Integrator system. If we need to meet performance specifications such as a percent overshoot of ≤ 9% and a settling time of ≤ 1 second, how would you determine the target poles?
A   = [0, 1; 0, 0];     % state  matrix
B   = [0; 1];           % input  matrix
C   = [1, 0];           % output matrix
D   =  0*C*B;           % direct matrix
sys = ss(A, B, C, D)
Gp  = tf(sys)
Ver también
Categorías
				Más información sobre PID Controller Tuning en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




