Skip to content

Commit e213e4a

Browse files
committed
Anotações do nikson para implementar controle
1 parent 02a7e6c commit e213e4a

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/control.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,22 @@ namespace Control {
8181
static double old_out;
8282
double out = ( 1.6 * (err - 0.91 * old_err) + old_out);
8383
old_err = err; //- (saturation(out)-out);
84+
// 1.6 * (1-0.91 * z^-1)/(1-z^-1)
85+
// 1.6 * (z-0.91)/(z-1) Projetado a partir do LGR pro motor (identificação o motor)
86+
//
87+
// 1 - Identificar novo motor (com carga/com roda e no chão)
88+
// -MATLAB identificação de sistemas
89+
// -sintonização de constantes
90+
// 2 - Projetar um controlador (contínuo)
91+
// 3 - Discretizar controlador (mapeamento direto com transformada z)
92+
// -comando MATLAB: c2d(tf,T,"matched")
93+
// 4 - Expandir função de transferencia e isolar U(z)
94+
// 5 - Transformada inversa de z
95+
//
96+
// z = e^(sT)
97+
8498

85-
old_out = (abs(out) < 255)? out : 0;
99+
old_out = (abs(out) < 255)? out : 0; // anti-windup (evita que o erro de saturação seja considerado como erro)
86100
return out;
87101
}
88102

0 commit comments

Comments
 (0)