Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2000
"Año del 40 aniversario de la decisión de Patria o Muerte”
Estrategia de control desacoplado adaptable para robot industrial
DEDICATORIA
A Mariángel
y a Marielquis
por el tiempo que les debo
ÍNDICE
INTRODICCIÓN 1
CONCLUSIONES 61
RECOMENDACIONES 63
BIBLIOGRAFÍA 64
ANEXO 69
INTRODUCCIÓN
E l robot, como criatura mecánica que sustituye al hombre en sus labores, surge en
la literatura de ciencia ficción con la novela del escritor checo Karel Capek "Rossum el
Robot Universal" en 1921. Pero no es hasta la década del 60' que, en los laboratorios
del MIT (Massachussets Institute of Technology) y la Universidad de Stanford, se
realizan y cobran vida los primeros diseños de artefactos articulados que podían
realizar algunas tareas y ya a mediados de la década del 70' estuvieron disponibles los
primeros robots (o manipuladores) industriales que eran simples estructuras mecánicas
articuladas que orientaban en el espacio, con coordenadas cartesianas, cilíndricas o
esféricas, el extremo en que se colocaba la herramienta. Los actuadores eran
combinaciones de dispositivos eléctricos, hidráulicos y neumáticos, gobernados por
sencillos controladores que reproducían movimientos previamente enseñados. Con el
paso del tiempo, el desarrollo de nuevos accionamientos y medios de cómputo,
permitió satisfacer requerimientos más exigentes de la industria, y fueron diseñadas
estructuras más complejas que dieron paso a los actuales manipuladores industriales,
verdaderas joyas de la mecánica, la electrónica y el control [Sciavicco L., 1996].
Es de significar que, aunque el desarrollo inicial de esta tecnología estuvo motivado por
el afán de aumentar la productividad industrial, hoy en día el mayor impacto está en la
calidad y competitividad lograda en los productos, la flexibilidad que le ha dado a las
producciones y el mejoramiento de las condiciones de trabajo para los obreros. Por otra
parte, también ha introducido nuevos conceptos económicos como la rentabilidad de
series cortas, la realización justo a tiempo de un artículo y la producción bajo demanda.
Todo esto, gracias a la flexibilidad tan grande que permite en el diseño del producto
final que puede cambiarse fácil y rápidamente con sólo reprogramar los robots [Gupta
K., 1997]. En cuanto a las áreas de aplicación, el 29,2% de los robots instalados, en
1997 por ejemplo, han estado dedicados a soldadura (13,2% al arco y 15,7% por
puntos) que ha sido la aplicación mayoritaria, seguida por montaje (25,7%),
manipulación (13,1%), mecanizado (8,7%) y paletización (3,1%) [Basañez L., 1999]. No
obstante, la robótica tiene algunos inconvenientes que son dignos de considerar: tiene
un elevado costo la inversión inicial y, aunque las tazas de amortización pueden estar
por los cuatro años (3.9 años en España) [Martínez A., 1992], aún son precios
prohibitivos para algunas economías; por otra parte, los operadores requieren de una
alta calificación y entrenamientos especiales; y el mantenimiento y reparación de los
manipuladores es tan difícil como costoso.
En Cuba, desde los primeros años de Revolución, la política de investigación y
desarrollo se ha caracterizado por tener una visión futurista y objetiva de estos
aspectos, de hecho, en la proyección estratégica de la política científico-tecnológica
cubana [CITMA, 1998] se plantea: “Para el desarrollo del país es imprescindible
aprovechar los conocimientos científicos y tecnológicos donde quiera que estén e
independientemente de donde se hayan generado. Ello implica dedicar esfuerzos no
solo a generar conocimientos, sino también a buscar información sobre los que han
generado otros, y en los casos que se justifique transferirlos, asimilarlos, difundirlos,
adaptarlos y aplicarlos en nuestras condiciones”. Es así como desde un principio se
incentiva, por ejemplo, la industrialización, siendo uno de sus principales ideólogos el
Comandante Guevara [Tablada C., 1987]; y, sin importar que fuera privilegio del primer
mundo, se desarrolla la Biotecnología y la Industria Farmacéutica. La importancia de la
robótica también fue prevista por la máxima dirección del país y a finales de los 80' se
realizan los primeros intentos de asimilar esta técnica con la adquisición de un robot de
soldadura para una empresa industrial, el ICIMAF creó una célula flexible con fines
docentes, EICISOFT produjo un lote de robots industriales, se desarrolló un estudio de
postgrado sobre robótica y sistemas flexibles en la Universidad Técnica de Brno,
república Checa, el cual fue cursado por una veintena de especialistas cubanos, dos de
los cuales son hoy profesores de la Universidad Central "Marta Abreu" de Las Villas
(UCLV) y discutieron sus respectivos doctorados en el tema de la robótica. Todas estas
inversiones se vieron interrumpidas cuando, a principios de la década del 90', el país
cayó en lo que se ha dado a llamar Período Especial, crisis económica provocada por
el bloqueo económico y comercial de Estados Unidos y la caída del Campo Socialista;
a pesar de ello el papel de la ciencia y la innovación tecnológica mantuvo su
importancia y en el V Congreso del PCC se define en los siguientes términos: “... La
ciencia, la innovación y la asimilación de tecnologías son elementos esenciales en la
elevación de la eficiencia económica y condición primordial para el desarrollo, por lo
que seguirán siendo objeto de máxima prioridad... Deberán potenciarse la integración y
cooperación de las entidades de investigación, los centros de educación superior y las
empresas productivas” [PCC, 1997].
En ese ámbito, y motivado por los deseos aún latentes de investigar y desarrollar el
campo de la robótica en Cuba, en 1997 surge en la UCLV el Grupo de Investigaciones
Mecatrónicas y Aplicaciones de Soldadura (GIMAS) dirigido por el departamento de
Control Automático y Sistemas Computacionales de la Facultad de Ingeniería Eléctrica
(FIE), vinculado al Centro de Investigaciones de Soldadura y con especialistas de la
Empresa de Servicios Informáticos de Villa Clara. A tres años de creado el grupo, su
trabajo ha sido reconocido como premio CITMA provincial y ha obtenido un premio
relevante y otro destacada en el XII Forum de Ciencia y Técnica provincial, un premio
destacado en el Forum Nacional de Estudiantes y mención especial en el XII Forum
Nacional de Ciencia y Técnica. Se han presentado trabajos en la 1ra y 2da Jornada
Iberoamericana de Robótica desarrolladas en Colombia y Guatemala respectivamente,
y en los eventos METANICA 98 y 99, y DIAGNOS 2000, en La Habana, Cuba. Se ha
podido dar respuesta a solicitudes de cursos en América Latina sobre Robótica y
Sistemas Flexibles y se mantienen contactos de cooperación con universidades
españolas y con algunos de los principales investigadores del tema en Latinoamérica.
La UCLV cuenta con un programa de Maestría en Automática con salida en Robótica
fuertemente apoyado por los miembros del grupo y su equipamiento; así como por la
línea de investigación Automatización de Sistemas Mecatrónicos de la Facultad de
Ingeniería Eléctrica.
Como resultado principal del GIMAS se tiene la recuperación de las prestaciones de
dos robots RIAC-6 de la serie desarrollada por EICISOFT que habían perdido su parte
electrónica y de control, lo cual exigió el desarrollo de los elementos de hardware
deben ser lo suficientemente robustos como para absorber los disturbios. Chiacchio
propuso una variante que, usando reguladores clásicos de acción proporcional e
integral, precompensando con el estado deseado (posición, velocidad y aceleración) y
realimentando el estado real, logra magníficas prestaciones conocida como PPPI
[Chiacchio P., 1993]. La determinación de la aceleración real en muchos manipuladores
industriales (por ejemplo el RIAC-6) sería el resultado de derivar dos veces la posición,
lo cual amplifica mucho los ruidos de la medición, por lo que en la práctica se
implementa la variante original de este algoritmo (conocida como PPI) que no necesita
la aceleración pero sus desempeño es menos robusto.
Para abordar esta problemática se realiza el presente trabajo, que tiene como principal
objetivo la síntesis de una estrategia de control desacoplado adaptable para el
seguimiento de trayectoria, que logren aumentar las prestaciones del regulador PPI
mediante la inserción de un lazo interno adaptable que ayude a compensar los
disturbios. A continuación se hace una breve descripción por capítulos del mismo:
cálculo que brindan los actuales microprocesadores, las compañías de Software han
desarrollado herramientas de visualización en tercera dimensión que resuelven la
cinemática en sólidos virtuales articulados, como por ejemplo OpenGL y DirectX
[Microsoft, 1996].
Para profundizar en el tema puede consultarse [Sciavicco L., 1996] o [Barrientos A.,
1997] y en [del Pozo, A., 1990] se detalla la cinemática (y dinámica) directa e inversa
para el manipulador IRb-6, muy similar al RIAC-6.
Por ejemplo, el modelo utilizado en las pruebas de simulación del presente trabajo, es
el de un manipulador de dos grados de libertad; que, usando la metodología de Fu [Fu
K. S., 1988] y con los datos de Del Pozo [del Pozo, A., 1990] para las articulaciones
dos y tres (hombro y brazo) del RIAC-6, las más complejas dinámicamente, queda:
L2
q1,q2 : Posición articular.
Lc2
T1,T2 : Torque aplicado al eje.
L1
T2, q2 I2, m2 m1,m2 : Masa de las articulaciones.
Lc1 I1, I2 : Momentos de inercia.
I1, m1
Lc1,Lc2 : Posición del centro de masa.
q1
L1, L2 : Longitud de las articulaciones.
T1
Con los datos del IRb-6 (tomados de [del Pozo, A., 1990]):
m1 = 2.084; % Masa de la articulación uno (Kg)
m2 = 4.836; % Masa de la articulación dos (Kg)
I1 = 0.3487; % Momento de inercia de la articulación uno (Kg m 2)
I2 = 0.6249; % Momento de inercia de la articulación dos (Kg m 2)
L1 = 0.4; % Dimensión de la articulación uno (m)
L2 = 0.67; % Dimensión de la articulación dos (m)
Lc1 = 0.319; % Distancia al centro de masa de la articulación uno (m)
Lc2 = 0.2536; % Distancia al centro de masa de la articulación dos (m)
2 Re
Td
1 1 1
1 K Re 1
L a .s+Ra J.s+F s
m q
Donde
m : Voltaje de mando aplicado al motor.
p : Posición angular de la articulación.
Td : Torque disturbio aplicado al eje del motor.
Re : Relación de engrane.
La : Inductancia de armadura.
Ra : Resistencia de armadura.
J : Momento de inercia del motor.
F : Fricción viscosa en el eje.
K : Constante de par del motor.
Kv : Constante de fuerza contraelectromotriz.
2 Kd
Td
Km 1
1 Re 1
T m .s+1 s
m q
Donde:
K Ra J Re Ra
Km Tm Kd (1.3)
Ra F K Kv Ra F K Kv K
Para los motores del RIAC-6 se determinó por identificación y con los datos de chapa:
Km = 6.28 rad/segV, Tm = 0.8 seg, Kd = 0.172, Re = 1/160 (1.3’)
M o to r 1 1
Pos
p1
Td
Vel
1 Volt Ac el
M AT LAB
m1 De m u x
Fu n cti o n
Pos
Td ca l cu l a to rq u e
Vel
2 Volt Ac el
m2 M o to r 2
2
p2
1.3.1.1. Control PD
Para este regulador se define la ley de control como:
t Kp q ~
~ Kv q (1.4)
Donde t representa el vector de los pares o fuerzas de los actuadores, Kp = diag{kpi} y
Kv = diag{k } son matrices de ganancias diagonales y definidas positivas y q~ q q
vi
d
H(q) q ~ Kp q
C(q, q ) q g(q) Kv q ~ (1.5)
Adoptando como estados del sistema (1.5) los vectores de error de posición y su
derivada temporal, la ecuación de estados resulta:
~ ~
q
x q
~
q q d ~ Kv q
H 1 (q) Kp q
~ C(q, q )q g(q)
(1.6)
pueden adoptar cualquier valor. Es por ello que se considera el caso particular del
posicionamiento para el cual qd constante y q d 0 . La ley de control queda
entonces:
~ Kv q
t Kp q (1.7)
y la ecuación de estados:
q q
x 1
H (q)Kp q Kv q C(q, q )q g(q)
~ (1.8)
q
tareas de posicionamiento, para robots en los que no influye la gravedad, como por
ejemplo los SCARA.
No obstante, si se conoce exactamente el término g(q), que es el más fácil de
determinar en (1.1), se propondría como ley de control:
~ Kp q
t Kv q ~ g(q) (1.11)
Y de esta forma se garantiza posicionamiento exacto independientemente de la
influencia del torque gravitacional. Este es el llamado control PD con compensación de
gravedad [Carelli R., 1998].
Análisis de estabilidad:
Para el análisis de estabilidad del regulador PD se propone una función definida
positiva del tipo Lyapunov, que incluye la energía cinética y potencial del robot y la
energía potencial asociada a la acción proporcional del controlador:
t
~) 1 q T H(q)q q T g(q)dt 1 q
V (t , q , q ~ T Kp q
~ (1.12)
2 2
0
V (t , q , q 1 q T H
~) q T H(q)q ~
~ T Kp q
(q)q q T g(q) q (1.13)
2
Sustituyendo en (1.13) la dinámica del sistema de control (1.5) queda:
V q T Kp q
~ Kv q C(q, q )q g(q) 1 q T H ~
~ T Kp q
(q)q q T g(q) q (1.14)
2
Resolviendo (1.14) teniendo en cuenta las propiedades del modelo dinámico del robot,
1 ~ q q q , se obtiene:
donde q T H (q) C(q, q )q 0 , y sabiendo que q d
2
qi
s 1
(1.17)
ai s2
Para controlar este sistema lineal resultante se propone una ley proporcional derivativa
(PD) con la siguiente forma:
aq ~ Kp q
Kv q ~ ~ q q
q (1.18)
d d
aq ~ Kp q
d Kv q ~ (1.23)
v
p ~
pλ
q
1
pλ
Kv q
~ Kp q
~ (1.24)
Esta problemática se ataca con el Control Robusto, que tiene por objetivo reducir el
efecto de las incertidumbres del modelo en el desempeño del sistema de control. Una
posible ley de control se describe en [Carelli R., 1998]:
movimientos con gran precisión [Carelli R., 1998], [Porter B., 1999], [Berstecher R.,
1999]. Estas técnicas, aún hoy, computacionalmente son muy costosas y generalmente
quedan a nivel de simulación y cuando más, de laboratorio.
Actualmente se reportan muchos trabajos que incorporan como sensor cámaras de
televisión y aplicando esquemas de control servo visual, controlan los movimientos del
robot [Hashimoto H., 1992], [Corke P., 1993], [Ibarra J. M.], [Herminio O., 2000]. Esta
línea también está siendo abordada por el GIMAS y muestra de ello son los trabajos de
M. Herrera y R. González [Herrera M., 2000], [Gonzáles R., 2000].
2 Kd
d i stu rb i o
Km 1
1 Cp Cv Ca Re 1
T m .s+1 s
qd q
K ta d u /d t d u /d t
K tv d u /d t
K tp
Donde una forma efectiva para la supresión del efecto de los disturbios se asegura con
grandes valores de ganancia en los amplificadores antes del punto de inserción del
disturbio para que este resulte despreciable y la presencia de una acción integral tal,
que cancele los efectos de la componente gravitacional del modelo del robot en estado
estable [Sciavicco L., 1996]. A continuación se muestran algunas variantes de este
esquema:
2 Kd
d i stu rb i o
K v*[T v 1 ](s) Km 1
1 Kp Re 1
s T m .s+1 s
qd q
d u /d t
wn 2 wn 2
Re Km Kp Kv wn 2 de donde: Kp (1.32)
Re Km Kv 2
Analizando ante disturbio, la función transferencial queda (sin la cancelación del polo):
q s Km Re
(s) (1.33)
d s 3 Tm s 2 Re Km Kv Kp s 1 Tv s
y el error en estado estable, aplicando el teorema del valor final:
q
lim s Es lim s s ds (1.34)
s0 s0 d
es nulo ante disturbio tipo paso (d(s)=1/s) e igual a 1/(KvKp) para disturbios tipo rampa
(d(s)=1/s2). El término KvKp suele denominarse factor de rechazo al disturbio (Xr) y en
este caso queda determinado por la wn y que se deseen en lazo cerrado. Para
introducir un parámetro independiente que ajuste Xr se usa la configuración que se
explica a continuación.
2 Kd
disturbio
Ka*[Ta 1](s) Km 1
1 Kp Kv Re 1
s Tm.s+1 s
qd q
du/dt du/dt
du/dt
Nótese que para robots que sólo dispongan de sensores de posición, es necesaria la
segunda derivada de la posición que resulta sumamente ruidosa en la práctica y
Con los dos esquemas anteriores se logra un buen rechazo a disturbio sobre todo con
el segundo, donde puede aumentarse sin interferir en la respuesta del sistema en lazo
cerrado, pero en ambos casos el seguimiento a trayectorias es a través de la función
transferencial de segundo orden resultante. Para seguimiento perfecto (al menos
teóricamente) se precompensa con la velocidad y aceleración deseada en cada
q
momento, de forma tal que quede: s 1
qd
Controladores precompensado
Control con realimentación de posición y velocidad, precompensado con la velocidad
(qqd) y aceleración (qqqd) deseadas:
1
3
K m *K v
qqqd
4 Kd
2
d i stu rb i o
qqd
K v*[T v 1 ](s) Km 1
1 Kp Re 1
s T m .s+1 s
qd q
d u /d t
3 1 +1 /(K m *K a )
qqqd
4 Kd
2 d i stu rb i o
qqd
K a *[T a 1 ](s) Km 1
1 Kp Kv Re 1
s T m .s+1 s
qd q
d u /d t d u /d t
d u /d t
Estos son los reguladores PPI y PPPI propuestos en [Chiacchio P., 1993] para el
control desacoplado de robots, que a pesar de su sencillez ofrecen magníficas
prestaciones para el seguimiento de trayectoria y permiten un buen rechazo a disturbio.
A continuación se presentan los resultados de la simulación de estos dos esquemas
para el robot RIAC-6.
(grados) 100
S et P oint
qd,qqd, 50
qqd qqqd
qqqd
0 qd
-50
0 0.5 1 1.5 2 2.5 3 3.5 (seg)
(grados) 0.5
E rror de
seguim iento
qd-q 0
PPI
-0.5
0 0.5 1 1.5 2 2.5 3 3.5 (seg)
(grados) 0.1
E rror de
seguim iento
qd-q
0
PPPI
-0.1
0 0.5 1 1.5 2 2.5 3 3.5 (seg)
Figura 1.5. Trayectoria deseada y error de seguimiento con los reguladores PPI y PPPI.
3
Cá l cu l o d e d i stu rb i o s e stru ctu ra d o s 4 Kd
qqqd
d i stu rb i o
2 re a l
qqqd
qqd
qqd Km 1
m1 Re 1
1 qd
T m .s+1 s
q
qd q
Re g u l a d o r
p re co m p e n sa d o
2 Kd
d i stu rb i o
Km 1
1 Cb (s) Re 1
T m .s+1 s
qd q
Ca (s)
Con:
Q(s)
CA
Pn (s)(1 Q(s))
(1.42)
GR (s) 1
CB
1 GR (s) Pn (s)(1 Q(s))
Donde:
CA y CB regulador de dos grados de libertad
Pn(s): Modelo nominal de la planta
GR(s): Modelo de referencia de la respuesta entrada salida deseada
Q(s): Incluye los ceros y polos inestables de la planta
El elemento más importante para este diseño es la selección del parámetro Q(s), para
lo que Umeno demuestra mediante un diseño H que:
S(jw) = 1-Q(jw)
T(jw) = Q(jw)
siendo, S(jw) y T(jw), la sensibilidad y la sensibilidad complementaria respectivamente.
Esta condición se cumple también si el ancho de banda de Q(jw) es mucho mayor que
el del sistema deseado en lazo cerrado.
Los resultados de la simulación de este esquema muestran un adecuado
comportamiento, no obstante, cuando el nivel del disturbio sube un poco, se producen
vibraciones en la respuesta, lo cual es un elemento a tener en cuenta para cualquier
diseño [Hernández L., 1998a].
4 Kd
d i stu rb i o
re a l
3 ku 3
qqqd
2
ku 2 + d ku 2
qqd
1 Up Km 1
ku 1 + d ku 1 Re 1
qd
T m .s+1 s
q
d u /d t
km 1 + d km 1
km 2 + d km 2
M e ca n i sm o
d e a d a p ta ci o n
M odelo de
Re fe re n ci a
1.4. Conclusiones
Como conclusiones parciales de este capítulo se tienen:
El tema del control de trayectoria en manipuladores robóticos es de gran
actualidad dada su alta incidencia en los congresos y revistas especializadas de
control automático así como su tratamiento en los libros de la especialidad. Por
otra parte es de suma importancia su dominio por parte del GIMAS dada las
intenciones existentes de desarrollar aplicaciones de soldadura por arco,
siguiendo trayectorias específicas, con el manipulador IRb-6 disponible.
Del análisis de las dos alternativas de control existentes: Acoplado y
desacoplado, se concluye que las estrategias de control acoplado son
computacionalmente muy costosas y requieren el conocimiento, al menos
aproximado, del modelo del robot, cosa esta que las complica aún más; mientras
que las técnicas de control desacoplado, aunque con menores prestaciones, son
relativamente sencillas e implementables en la práctica para aplicaciones
industriales.
Finalmente, de las estrategias de control desacoplado, la PPPI propuesta por
Chiacchio, es la que mejores resultados ofrece en simulación pero la obtención
de la aceleración dificulta su implementación en la práctica. Una buena
alternativa resulta el esquema PPI aunque brinda menores prestaciones. En los
capítulos que siguen se presenta la combinación del esquema PPI con técnicas
de control adaptable con el objetivo de elevar sus prestaciones.
CONTROL ADAPTABLE
2.1.1. Características
Debe notarse que el control robusto puede ser también utilizado para tratar las
incertidumbres paramétricas. Así que se impone establecer una breve comparación
entre el control robusto y el control adaptable. En principio, el control adaptable es
superior al control robusto en el tratamiento de la incertidumbre de parámetros que
varían de forma lenta. La razón básica recae sobre el aprendizaje de los sistemas de
control adaptables: un regulador adaptable mejora sus indicadores a medida que se va
adaptando, mientras que el regulador robusto, simplemente los intenta mantener
constante. Otra razón es que los reguladores adaptables requieren poca o ninguna
información previa sobre los parámetros desconocidos, mientras que el regulador
robusto requiere de estimados previos razonables de los parámetros. Recíprocamente,
el control robusto posee algunas características deseables las cuales el control
adaptable no posee, tales como su habilidad de tratar con disturbios, variaciones
rápidas de parámetros y dinámica no estructurada. Estas características pueden ser
combinadas con el control adaptable, obteniendo reguladores adaptables robustos en
los cuales se reduce la incertidumbre de los parámetros que varían de forma lenta, por
la adaptación de parámetros, y las otras fuentes de incertidumbres se atacan por las
técnicas de control robusto. No obstante, también se han desarrollado métodos de
estimación que permiten una convergencia más rápida de los parámetros de
adaptación en los reguladores adaptables sin necesidad de combinarlos con métodos
robustos.
es definida positiva. Por ejemplo, una señal escalón unitario es una excitación
persistente de primer orden y una señal sinusoidal, de segundo orden.
El concepto de excitación persistente se puede expresar también en el dominio de la
frecuencia. Se puede demostrar que el espectro de frecuencia de una señal es
diferente de cero para n frecuencias positivas, entonces es de excitación persistente de
segundo orden. Una señal es de excitación persistente de orden infinito si su espectro
de frecuencia es diferente de cero en un intervalo.
El conocimiento del concepto de la excitación persistente es importante para la
comprensión del comportamiento de los sistemas de control adaptable. Para lograr la
convergencia de p parámetros a sus valores exactos, la señal de entrada debe ser de
excitación persistente, de orden mayor o igual a p. En el caso contrario no es posible la
convergencia de los parámetros a los valores exactos.
En sistemas de control adaptable la señal se obtiene de una realimentación de la
salida. De esta forma es difícil garantizar que esta señal sea de excitación persistente
de algún orden a menos que se introduzcan perturbaciones externas.
salida deseada del sistema de control, la ley de control, la cual contiene los parámetros
ajustables y el mecanismo de adaptación para actualizar los parámetros ajustables.
M odelo de ym
Re fe re n ci a
e
1 u
Co n tro l a d o r P l a n ta 1
r
y
a
M e ca n i sm o d e a d a p ta ci ó n
Donde:
y : es la salida de la planta
u : la entrada a la misma
ap , bp : sus parámetros
En el diseño de controladores adaptables, los parámetros de la planta se asumen
desconocidos y se especifican los indicadores deseados a través del modelo de
referencia, que en este caso sería un modelo de referencia de primer orden descrito
por:
y m am y m bm r (2.4)
Donde am y bm son los parámetros constantes del modelo (am requiere ser
estrictamente positivo para que el modelo de referencia sea estable) y r es la señal de
referencia. El modelo puede ser expresado por su función de transferencia, como
sigue:
ym bm
Ms (2.5)
r s am
Donde âr y â y son ganancias variables de realimentación. Con esta ley de control la
La razón de la selección del control en la ecuación (2.6) esta justificada por permitir la
posibilidad de un ajuste perfecto al modelo. De hecho, si los parámetros de la planta
son conocidos, los valores de los parámetros del control serán los siguientes:
b a p am
ar* m , a *y (2.8)
bp bp
e
bp
s am
a~r r a~y y 1
Ms a~r r a~y y (2.12)
ar*
e(t ) H(s) k φ t t vt (2.13)
Donde e(t) es una señal de salida escalar, H(s) una función transferencial estrictamente real
positiva, k una constante de signo conocido, (t) un vector mx1 función del tiempo y v(t) un
vector medible de mx1. Si el vector varía acorde a:
t sgnk e vt
φ (2.14)
Con siendo una constante positiva, entonces e(t) y (t) serán globalmente acotadas. Y si v
es acotado, entonces e(t)0 para t .
La relación (2.12) tiene la forma de (2.13) por lo que la ley de adaptación para los
parámetros âr y â y puede ser:
1
P arám etros
(ar,ay) 0
-1
0 2 4 6 8 10 12 14 16 18 20
2
S alida(y) 0
-2
0 2 4 6 8 10 12 14 16 18 20
0.5
E rror (e) 0
-0.5
0 2 4 6 8 10 12 14 16 18 20
1
P arám etros
(ar,ay ) 0
-1
0 2 4 6 8 10 12 14 16 18 20
2
S alida(y ) 0
-2
0 2 4 6 8 10 12 14 16 18 20
0.5
E rror (e) 0
-0.5
0 2 4 6 8 10 12 14 16 18 20
Esto sería con vistas a aplicar externamente el regulador PPI a cada articulación en
una estrategia de control desacoplado (figura 2.5). Los disturbios de la dinámica
realmente acoplada del robot se considerarían reflejados como variaciones de la
ganancia y la constante de tiempo de los motores, variaciones que serían corregidas
por los parámetros de adaptación. El problema está en que el modelo del motor, desde
ese punto de vista, varía muy rápido y constantemente y este MRAC no es capaz de
seguir esas variaciones por lo que se estudiará otro en la sección 2.4.
4 Kd
3 d i stu rb i o
qqqd re a l
qqqd
2 qqd Km 1
m Ar Re 1
qqd qd
T m .s+1 s
q
q
1 M o to r
Re g u l a d o r P P I
qd
Ay
Ay
M e ca n i sm o d e
Ar A d a p ta ci ó n
K re f
T re f.s+1
M o d e l o d e re fe re n ci a
km ym (t)
s2 +a m 1 .s+a m 2
r (t)
u0 u1 u y(t)
kp e
k
s2 +a p 1 .s+a p 2
a1
s+l o
b 1 .s+b 2
s+l o
Figura 2.6. Ley de control para el MRAC en plantas de grado relativo dos.
e(t)
+
w(t) t
Wm(s) 1/k
+ (t)
t Wm(s)
_
(t)
(t)
+
Wm(s) t
Por la complejidad que requiere este método, queda descartado como variante para
mejorar el desempeño del regulador PPI.
En los métodos en línea se soluciona una ecuación recursiva que permite estimar y
actualizar los valores de a para cada nuevo conjunto de y y W disponible.
La rapidez de la estimación de a depende del método que se emplee y de la
excitabilidad que porte el conjunto de datos y y W. A continuación se muestran algunos
de los métodos.
aˆ p0 W t e1 (2.22)
Donde p0 es un número positivo llamado ganancia del estimador.
Para el modelo (2.20) sin y con ruido para una masa constante y p0 con valores uno y
tres, los resultados de estimación, a través del parámetro estimado, se muestran en la
figura 2.8.
1.2 1.2
p0 =3
p0 =3
1 1
0.8 p0 =1 0.8 p0 =1
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 5 10 15 20 0 5 10 15 20
Figura 2.8. Método del gradiente sin y con ruido para parámetro constante.
Se puede notar que para mayores valores de p0 la convergencia es más rápida pero
empeora ante ruidos.
Los resultados de estimación sin y con ruido para una masa variable en el tiempo y p0
con valores uno y tres, se muestran en la figura 2.9.
1.5 1.5
p0 =3
p0 =3
1 p0 =1 1
p0 =1
0.5 0.5
0 0
0 5 10 15 20 0 5 10 15 20
Figura 2.9. Método del gradiente sin y con ruido para parámetro variable.
Nótese que para mayores valores de p0 el seguimiento es mejor pero nuevamente se
observa un empeoramiento ante ruidos.
P t P W t W P (2.24)
Para el modelo (2.20) sin y con ruido para una masa constante y como condición inicial
de P tres y treinta, los resultados de estimación se muestran en la figura 2.10.
1.2 1.2
P0 =3
P0 =3
1 1
P0 =30 P0 =30
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 5 10 15 20 0 5 10 15 20
Figura 2.10. Mínimos cuadrados sin y con ruido para parámetro constante.
Nótese que al aumentar la condición inicial de P se logró mayor inmunidad a los ruidos
pero se hizo más lenta la convergencia.
Los resultados de estimación sin y con ruido para una masa variable en el tiempo y
teniendo como condición inicial de P, tres y treinta, se muestran en la figura 2.11.
1.5 1.5
P0 =30
P0 =30
1 1
P0 =3
P0 =3
0.5 0.5
0 0
0 5 10 15 20 0 5 10 15 20
Figura 2.11. Mínimos cuadrados sin y con ruido para parámetro variable.
Con este método, al aumentar la condición inicial de P, el desempeño es muchísimo
más inmune a los ruidos comparado con el del gradiente, pero el seguimiento a
variaciones del parámetro se deteriora notablemente.
P t 0 P P W t W P (2.25)
1.2 1.2
1 0 =3 1
0 =0.5
0.8 0.8 0 =3
0.4 0.4
0.2 0.2
0 0
0 5 10 15 20 0 5 10 15 20
1.5 1.5
0 =3 0 =3
0 =0.5 0 =0.5
1 1
0.5 0.5
0 0
0 5 10 15 20 0 5 10 15 20
P t t P P W t W P
P (2.26)
t 0 1
P
0
u vt a (2.27)
y como ley de adaptación:
Donde:
a ar
ay t v r y t (2.29)
y am y (a p am ) y b p u (2.30)
Lo que permite:
(a p a m )
s am y
1
u ( s) y (2.31)
bp bp
u1
u
s am
a ar
ay t
y
W
y
s am
(2.35)
bm
El error de predicción se define como:
e1 uˆ1 u1 (2.36)
Donde:
u
uˆ1 W aˆ u1 (2.37)
s am
La ley de adaptación compuesta queda:
aˆ P(t ) sgn (b p ) v e W t e1 (2.38)
donde P(t) es la matriz de ganancias estimadoras que debe calcularse según el método
de estimación con ganancia acotada, ecuaciones (2.26), para lograr una rápida
convergencia, cierta inmunidad ante ruido y seguimiento ante variaciones de los
parámetros.
Aplicando este esquema de control al modelo de primer orden de los motores del
RICAC-6 (1.3’) se obtienen los siguientes resultados ( 0 = 5, K0 = 5):
1
P arám etros
(ar,ay) 0
-1
0 2 4 6 8 10 12 14 16 18 20
2
S alida(y) 0
-2
0 2 4 6 8 10 12 14 16 18 20
0.5
E rror (e) 0
-0.5
0 2 4 6 8 10 12 14 16 18 20
1
P arám etros
(ar,ay) 0
-1
0 2 4 6 8 10 12 14 16 18 20
2
S alida(y) 0
-2
0 2 4 6 8 10 12 14 16 18 20
0.5
E rror (e) 0
-0.5
0 2 4 6 8 10 12 14 16 18 20
2.5. Conclusiones
Las conclusiones parciales de este capítulo son las siguientes:
Conocida la intención de combinar el regulador PPI con técnicas de control
adaptable, lo más recomendable es aplicarlas al lazo interno de velocidad;
debido a que el sistema resultante, en este caso, quedaría de grado relativo
uno, que son los de leyes de adaptación menos complejas y no provocarían un
aumento excesivo de los costos computacionales del algoritmo de control final.
Dado que en el lazo interno de velocidad la ganancia del motor, y sobre todo su
constante de tiempo, son realmente variables si se tiene en cuenta la dinámica
acoplada del robot, el método de adaptación que se emplee en el lazo interno
debe ser capaz de seguir con rapidez esas variaciones, por lo que ha de
emplearse el MRAC Compuesto con la estimación por mínimos cuadrados con
ganancia acotada, que es el más rápido de los estudiados.
MRAC en el lazo interno de velocidad del regulador PPI que es donde quedaría un
sistema de grado relativo uno, ver figura 3.1.
4 Kd
3 disturbio
qqqd real
qqqd
2 qqd Km 1
m Ar Re 1
qqd qd
Tm.s+1 s q
q
1 Motor
Regulador PPI
qd
Ay
Kref Ar
Mecanismo de
Tref.s+1 Adaptación Ay
Modelo de referencia
1.5
1.5
ar
1
1
0.5
0.5 qd ay
0
0 -0.5
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
Figura 3.2. Convergencia de los parámetros sin la acción del torque disturbio.
30
m 1
20
10 0
err
0
-1
-10
-20 -2
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
20
0
10
err2
err3
-2
0
err1
err2
-10 -4
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
m1 1
m2
0 0 err2
err3
-1
err1
err2
-50 -2
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
5 3
Articulación 2 Articulación 3
ar
0 1 ar
ay
0
ay
-5 -1
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
1.5 1
1 0
0.5 -1
0 -2
0 2 4 6 8 10seg 0 2 4 6 8 10seg
ar ar
0 0
ay ay
Articulación 2 Articulación 3
-5 -5
0 2 4 6 8 10 0 2 4 6 8 10
Nótese que con el PPI con MRAC Compuesto se lograron reducir los errores (figura
3.5) a los que se obtienen si no existieran los disturbios propios de la dinámica no lineal
y acoplada del robot (figura 3.3).
4 Kd
3 disturbio
qqqd real
qqqd
2 qqd Km 1
m Re 1
qqd qd
Tm.s+1 s q
q
1 Motor
Regulador PPI
qd
Kref
Regulador PI
Tref.s+1
Modelo de referencia
Para la simulación se mantiene el modelo del robot y el ajuste del regulador PPI. El PI
compensador se ajusta con Ti = Tm = 0.8 y Kc = 400. A continuación se muestran los
resultados que se obtienen, nótese que los errores son ligeramente superiores a los del
PPI con MRAC Compuesto pero esta variante es tan sencilla de implementar que
ingenierilmente resulta muy atractiva.
-3
x 10
(V ) 40 (rad) 3
m
m31
30 2
20 m
m22 1
10 0
err1
err2
0 -1
err2
err3
-10 -2
-20 -3
0 2 4 6 (seg) 0 2 4 6 (seg)
(V ) 4 (V ) 3
2 2
0 1
td1
td2
-2 0
td2
td3
tc1
tc2
-4 -1 tc2
tc3
-6 -2
-8 -3
0 1 2 3 4 (seg) 0 1 2 3 4 (seg)
200
-200
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
Figura 3.12. Resultados para una trayectoria con picos de velocidad articular máximos
de 47.6 grad/seg y con picos de aceleración articular máximos de 124.3 grad/seg2.
500
-500
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
Figura 3.13. Resultados para una trayectoria con picos de velocidad articular máximos
de 71.1 grad/seg y con picos de aceleración articular máximos de 277.3 grad/seg2.
500
-500
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
1
-1
0 1 2 3 4 5 6 7 8 9 10
Figura 3.14. Resultados para una trayectoria con picos de velocidad articular máximos
de 95.3 grad/seg y con picos de aceleración articular máximos de 496.5 grad/seg2.
Debe destacarse, en primer lugar, que con el PPI compensado los errores siempre son
menores que con el PPI original. Además, que el comportamiento de ambas
articulaciones con el regulador PPI compensado, es practicamente igual, sin importar
que los disturbios sean diferentes para cada una, lo cual sí se aprecia con el regulador
PPI sin compensar para el cual los errores en la articulación dos son siempre mayores
que en la articulación tres, esto significa que en el PPI compensado los disturbios están
siendo prácticamente eliminados. Por otra parte, a medida que se aumentaron las
exigencias de velocidad y aceleración no se deterioró casi la respuesta del regulador
compensado, mientras que la respuesta del PPI original sí se vió afectada.
Nótese sin embargo, que el PPI compensado presenta pequeñas oscilaciones en
estado estable debido a los ruidos en el error de seguimiento, pero son realmente
despreciables para la aplicación de soldadura por arco que se pretende montar por lo
que no se les confiere mucha importancia.
Para una mejor comparación, todas las figuras anteriores se unieron y se muestran en
la figura 3.15.
0 0 0
0 0 0
-1 -1 -1
0 5 10 0 5 10 0 5 10
1 1 1
0 0 0
-1 -1 -1
0 5 10 0 5 10 0 5 10
Figura 3.15. Comparación de los resultados obtenidos con el PPI original (verde)
y el PPI compensado (azúl).
3.3. Conclusiones
Las conclusiones parciales del capitulo son las siguientes:
Con el PPI con MRAC Compuesto se logró reducir el error al que habría si no
existiera interacción entre las articulaciones. El costo computacional aumenta
pero sigue siendo inferior al que implican otros métodos de control más exactos.
Los resultados con el PPI con compensación de disturbio son ligeramente
inferiores a los del PPI con MRAC Compuesto, pero computacionalmente es
extremadamente sencillo y se logró implementar en la práctica con buenos
resultados.
CONCLUSIONES
RECOMENDACIONES
Finalmente, no todo está dicho en este tipo de estrategia de control y pudieran surgir
otras ideas. Por ello este trabajo es solo la demostración de que la aplicación de un
algoritmo de adaptación en el lazo interno de un regulador robusto por sus
prestaciones, tiene valor práctico para aplicaciones industriales y queda abierto el
campo de su investigación.
BIBLIOGRAFÍA
[Alongue F., 1999] Alongue F., F. D’Ippolito, F. M. Raimondi, An adaptive control
law for robotic manipulator without velocity feedback., 14th
World Congress of IFAC, Paper No. B-1d-07-5, 1999.
[Astrom K., 1989] Astrom K., and B. Wittenmark, Adaptive Control. Addison-
Wesley, USA, 1989.
[Barrientos A., 1997] Barrientos A., L. F. Peñín, C. Balguer, R. Aracil, Fundamentos
de Robotica., McGraw Hill, 1997.
[Basañez L., 1999] Basañez L., Actualidad y perspectivas de la robótica., Institut
d’Organització i Control de Sistemes Industrials, 1999.
[Berstecher R., 1999] Berstecher R., R. Palm and H. Unbehauen, An adaptive fuzzy
Sliding mode controller for a robot arm., 14th World Congress of
IFAC, Paper No. B-1d-01-3, 1999.
[Carelli R., 1998] Carelli R., Control de movimiento y fuerza., II Jornada
Iberoamericana de Robótica, Guatemala, Junio, 1998.
[Chiacchio P., 1993] Chiacchio P., Robust design of independent joint controller with
experimentation on high-speed paralled robot., IEEE
Transaction on Industrial Electronic, Vol. 40 (4), Agosto, pp.
393-403, 1993.
[CITMA, 1998] CITMA, La ciencia y la innovación tecnológica en Cuba. Bases
para su proyección estratégica., Ministerio de Ciencia,
Tecnología y Medio Ambiente, Editorial academia, 1998.
[Corke P., 1993] Corke P. and M. C. Goodz, Controller design for high
performance visual servoing., CSIRO Division of Manufacturing
Technology, Locked Bag 9, Preston, Australia, 1993.
[Corke P., 1999] Corke P., Robotic Toolbox of MATLAB RELEASE 5., CSIRO,
Manufacturing Science and Technology, Pinjarra Hills,
AUSTRALIA, April, 1999.
[Craig J. J., 1988] Craig J. J., Adaptive Control of Mechanical Manipulatores.,
Adison-Wesley, 1988.
[Crochetiere W.,1984] Crochetiere W., Locating the wrist of an elbow-type
manipulators., IEEE Transactions on Systems Man and Cyber,
Vol. SMC-14, pp. 497-499, Mayo / Junio, 1984.
[Dai Y., 1999] Dai Y., S. Shi and N. Zheng, Adaptive control of robot
manipulators with only position measurements., 14th World
Congress of IFAC, Paper No. B-1d-06-1, 1999.
[Feng G., 1994] Feng G., New robust model reference adaptive control
algorithm., IEE Process Control Theory Application, Vol. 141,
No 3, 1994.
[Fu K. S., 1988] Fu K. S., Gonzalez R. C. and C. Lee., Robótica, Control,
Detección, Visión e Inteligencia., Mc Graw-Hill Interamericana,
España, 1988.
[Goldenberg A., 1985] Goldenberg A., B. Benhabid and R. Fenton., A complete
generalized solution to then inverse kinematics of robots., IEEE
Transactions on Robotics and Automation, Vol. Ra-1, pp. 15-20,
1985.
[González R., 1998] González R. y N. Escalona., Recuperación de Robot industrial.,
Trabajo de Diploma, UCLV, 1998.
[Gonzáles R., 2000] Gonzáles R., Control de servo visual de Robot industrial. Tesis
en opción al grado de Master en Automática (Trabajo en
desarrollo) , UCLV, 2000.
[Gupta K., 1997] Gupta K., Mechanics and Control of Robots., Springer Verlag,
New York, 1997.
[Hashimoto H., 1992] Hashimoto H., T Kubtoa, M. Sato, F. Harashima, Visual control
of robotic manipulator based on neural networks., IEEE
transaction industrial electronics, Vol. 39, No 6, December,
1992.
[Herminio O., 2000] Herminio O., Control dinámico servovisual de manipuladores
robóticos., Tesis Doctoral, Facultad de Ingeniería, Universidad
Nacional de San Juan, 2000.
[Hernández L., 1993] Hernández L., Estrategia de control adaptable para robots
industriales., Tesis en opción al grado de Doctor en Ciencias
Técnicas, UCLV, 1993.
[Hernández L., 1998a] Hernández L., y B. L. Martínez, Estudio comparativo de
estrategias de control independientes de articulaciones de
robots industriales., INFORMATICA 98, La Habana, Cuba,
Febrero 1998.
[Hernández L., 1998b] Hernández L., y B. L. Martínez, Rubio A. E., Modelación de
robots industriales para tareas de diseño y control., II Jornada
Iberoamericana de Robótica, Guatemala, Junio, 1998.
[Hernández L., 1998c] Hernández L., R. Gonzalez, M. Herrera, A. E. Rubio, y otros,
Recuperación de robots industriales., XII Forum de Ciencia y
Técnica, Villa Clara, Cuba, 1998.
[Herrera M., 2000] Herrera M., Herramientas de visión artificial para aplicaciones
industriales. Tesis en opción al grado de Master en Automática
(Trabajo en desarrollo) , UCLV, 2000.
[Ibarra J. M.] Ibarra J. M., V. Bahena y H. Mendoza, Aplicación de las redes
neuronales al control de robots basado en visión.
[Martínez A., 1992] Martínez A., Los robots industriales y la economía española.,
Automatización Integrada. Revista de Robótica, No 67, Abril,
1992.
[Mendoza V., 1995] Mendoza V., Alternativa de control adaptivo para
servomecanismos utilizados en robótica. Trabajo de Diploma,
UCLV, 1995.
ANEXO
// Reguladores digitales
#include <math.h>
tmp.nn = Km*TT/(TT+2.0*Tm);
tmp.dd = (TT-2.0*Tm)/(TT+2.0*Tm);
tmp.m1 = 0;
tmp.mf1 = 0;
return( tmp );
}
fil->mf1 = mf0;
fil->m1 = m0;
return( mf0 );
}
RegPID InitRegPID( float skc, float sti, float std, float stm )
{ // kc(1+1/tis+tds)
RegPID tmp;
tmp.AA = skc;
tmp.BB = skc*stm/(2.0*sti);
tmp.CC = skc*std/stm;
tmp.II = 0;
tmp.man = 0;
tmp.err1 = 0;
return( tmp );
}
pid->man = (int)man;
return( pid->man );
}
RegPPI InitRegPPI( float Fi, float Wn, float Km, float Tm, float TT )
{
RegPPI tmp;
float Kp,Kv,Tv;
Tv = Tm;
Kv = 2.0*Fi*Wn/Km;
Kp = Wn/(2.0*Fi);
tmp.Ka = 1/(Kv*Km);
tmp.Kp = Kp;
tmp.p1 = 0;
tmp.T = TT;
return( tmp );
}
int RegulaPPI( RegPPI *ppi, float spp, float spv, float spa, float med )
{
float tsp,tmed,vel = (med-ppi->p1)/ppi->T;
ppi->p1 = med;
RegPPIcd InitRegPPIcd( float Kc, float emin, float Fi, float Wn, float Km, float Tm,
float TT )
{
RegPPIcd tmp;
tmp.m1 = 0;
tmp.m2 = 0;
tmp.v1 = 0;
tmp.p1 = 0;
tmp.emin= emin;
tmp.nn = Km*TT/(TT+2*Tm);
tmp.dd = (TT-2*Tm)/(TT+2*Tm);
tmp.T = TT;
tmp.ppi = InitRegPPI( Fi, Wn, Km, Tm, TT );
tmp.pi = InitRegPID( Kc, Tm, 0, TT );
return( tmp );
}
int RegulaPPIcd( RegPPIcd *ppicd, float spp, float spv, float spa, float p0 )
{
int m0,man;
float vm,v0;
v0 = (p0-ppicd->p1)/ppicd->T;
vm = ppicd->nn*(ppicd->m1+ppicd->m2) - ppicd->dd*ppicd->v1;
m0 = RegulaPPI( &(ppicd->ppi), spp, spv, spa, p0 );
if( fabs(vm-v0)<ppicd->emin )
vm = v0;
else
vm += ( vm>v0 )?-ppicd->emin:+ppicd->emin;
man = m0 + RegulaPID( &(ppicd->pi), vm, v0 );
ppicd->p1 = p0;
ppicd->v1 = vm;
ppicd->m2 = ppicd->m1;
ppicd->m1 = m0;
return( man );
}
int m1,m2;
float ar1,ay1,TKm;
float p1,v1,T,nn,dd;
float p11,p12,p21,p22,lo,Po;
float p11a,p12a,p21a,p22a;
float ar1a,ay1a;
float man1,alim;
} RegPPIad;
RegPPIad InitRegPPIad( float alim, float lo, float Po, float Fi, float Wn, float Km,
float Tm, float TT )
{
RegPPIad tmp;
tmp.ar1 = tmp.ar1a = 1;
tmp.ay1 = tmp.ay1a = 0;
tmp.p11 = tmp.p22 = tmp.p11a = tmp.p22a = Po;
tmp.p12 = tmp.p21 = tmp.p12a = tmp.p21a = 0;
tmp.lo = lo;
tmp.Po = Po;
tmp.m1 = 0;
tmp.m2 = 0;
tmp.v1 = 0;
tmp.p1 = 0;
tmp.man1= 0;
tmp.alim= alim;
tmp.TKm = Tm/Km;
tmp.nn = Km*TT/(TT+2.0*Tm);
tmp.dd = (TT-2.0*Tm)/(TT+2.0*Tm);
tmp.T = TT;
tmp.Fw = InitFiltro1o( Tm, Tm, TT );
tmp.Fm = InitFiltro1o( Tm, Tm, TT );
tmp.ppi = InitRegPPI( Fi, Wn, Km, Tm, TT );
return( tmp );
}
int RegulaPPIad( RegPPIad *ppiad, float spp, float spv, float spa, float p0 )
{
int m0,man;
float vm,v0,e,w1,w2,m1e,m1,e1,vwe1,vwe2,l,p11,p12,p21,p22,norma;
float p11e,p12e,p21e,p22e;
float ar1e,ay1e;
v0 = (p0-ppiad->p1)/ppiad->T;
vm = ppiad->nn*(ppiad->m1+ppiad->m2) - ppiad->dd*ppiad->v1;
m0 = RegulaPPI( &(ppiad->ppi), spp, spv, spa, p0 );
e = v0 - vm;
// e = ( e>1 )?e-1:(e<-1)?e+1:0;
w1 = v0*ppiad->TKm;
w2 = Filtra1o( &ppiad->Fw, v0 );
e1 = m1e - m1;
// e1 = ( e1>1 )?e1-1:(e1<-1)?e1+1:0;
p11 = ppiad->p11;
p12 = ppiad->p12;
p21 = ppiad->p21;
p22 = ppiad->p22;
norma = ((fabs(p11)+fabs(p21))>(fabs(p12)+fabs(p22)))?
(fabs(p11)+fabs(p21)):(fabs(p12)+fabs(p22));
l = ppiad->lo*(1.0 - norma/ppiad->Po);
p11 += (ppiad->p11a+p11e)*ppiad->T/2.0;
p12 += (ppiad->p12a+p12e)*ppiad->T/2.0;
p21 += (ppiad->p21a+p21e)*ppiad->T/2.0;
p22 += (ppiad->p22a+p22e)*ppiad->T/2.0;
ppiad->ar1 += (ppiad->ar1a+ar1e)*ppiad->T/2.0;
ppiad->ay1 += (ppiad->ay1a+ay1e)*ppiad->T/2.0;
ppiad->p1 = p0;
ppiad->v1 = vm;
ppiad->m2 = ppiad->m1;
ppiad->m1 = m0;
ppiad->man1 = man;
ppiad->p11 = p11;
ppiad->p12 = p12;
ppiad->p21 = p21;
ppiad->p22 = p22;
ppiad->p11a = p11e;
ppiad->p12a = p12e;
ppiad->p21a = p21e;
ppiad->p22a = p22e;
ppiad->ar1a = ar1e;
ppiad->ay1a = ay1e;
return( man );
}