MECATRONICA

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 290

M E C A T R Ó N I C A

Editores:

Ramón Silva Ortigoza


Edgar Alfredo Portilla Flores
Marı́a Aurora Molina Vilchis

México, D.F. Octubre 2010.


Resumen

El Centro de Innovación y Desarrollo Tecnológico en Cómputo (CIDETEC) del


Instituto Politécnico Nacional, interesado en fomentar la investigación y el posgrado
en la Mecatrónica, presenta esta obra orientada a estudiantes e investigadores que
se inician en la formalidad de ésta disciplina, con el propósito de ser considerada
como material de consulta.

Mecatrónica es una compilación de aportaciones que los autores hacen en cua-


tro áreas: robótica, aplicaciones de la mecatrónica, instrumentación y optimización.
Cada capı́tulo está escrito cuidando no sólo el rigor metodológico de esta disciplina,
sino también ilustra con ejemplos y aplicaciones prácticas los tópicos tratados y de
esta manera facilita al lector su comprensión.

Cada contribución está sustentada en investigaciones recientes que se han realiza-


do en universidades de reconocido prestigio tanto nacionales como internacionales
que sin duda contribuyen al avance de esta ciencia interdisciplinaria.

I
Prefacio

Los problemas que aquejan a la humanidad son complejos y su solución requiere


de ciencias interdisciplinarias, por ello es que en las últimas décadas nuevas dis-
ciplinas han emergido en todos los campos del conocimiento, una de ellas es la
Mecatrónica que surge como respuesta a la solución de problemas complejos de
ingenierı́a. La necesidad creciente de integrar un conjunto de conocimientos y ele-
mentos técnicos pertenecientes a diversas áreas como la mecánica de precisión, la
microelectrónica, la inteligencia artificial, la teorı́a del control, las ciencias de la
computación e informática, entre otras; ha motivado la creación de una nueva forma
de ver los sistemas y del cómo resolver sus problemas.
Aunque los orı́genes de la mecatrónica se remontan a fines de la década de los
60, no existe, hasta la fecha, una definición exacta de ella, en su lugar se exhibe
como una interpretación particular de lo que para cada grupo es la Mecatrónica y
cómo la ponen en práctica en su quehacer cotidiano. Sin embargo, en su mayorı́a
existen coincidencias que permiten apropiarse de un concepto. Un punto fundamen-
tal encontrado, es lo interdisciplinario de su quehacer, ası́ como de lo sinérgica que
debe ser su interacción. Por otro lado, debe ser claro que no hablamos de una parte
de la ciencia donde no quedan bien definidas las funciones y limitaciones de cada
una de las disciplinas participantes, sino que es una rama del conocimiento donde
por su carácter cambiante y dinámico es difı́cil establecer una definición estática de
la misma.
Las disciplinas que integran a la mecatrónica contribuyen de diversas maneras en
métodos, técnicas y aplicaciones que dan como resultado los sistemas mecatrónicos,
compuestos en general por mecanismos, actuadores, control inteligente y sensores;
con estos elementos el sistema obtiene señales de su entorno, las procesa y genera
respuestas en forma de movimientos o acciones para aplicaciones diversas.
La formación de recursos humanos en la investigación en mecatrónica, implica
una formación interdisciplinaria que tiende, en los diversos escenarios donde actúa,
a confundirse con otras ingenierı́as, por ello es que respondiendo la necesidad de
contar con una obra de consulta en esta materia, nos hemos dado a la tarea de hacer
una compilación de las investigaciones más relevantes, tanto a nivel nacional como
internacional, con el fin de divulgar los distintos problemas y enfoques de solu-
ción que los colaboradores de cada capı́tulo hacen especı́ficamente en las áreas de
robótica, aplicaciones, instrumentación y optimización.

III
IV Prefacio

Esta obra consta de ocho capı́tulos invitados que se presentan con una estruc-
tura que facilita el acercamiento y la comprensión mediante el análisis matemático,
métodos de modelado, ejemplos prácticos y casos de estudio de las áreas antes men-
cionadas.
El libro inicia con el área de Robótica que se presenta en los tres primeros capı́tu-
los. En el capı́tulo 1, Garcı́a-Rodrı́guez propone un control descentralizado continuo
y libre de modelo para el caso articular y cartesiano para un sistema de robots mani-
puladores cooperativos en la tarea de manipulación de un objeto rı́gido. La prueba
de estabilidad asintótica de los errores de seguimiento de fuerza y posición se rea-
liza aplicando la teorı́a de Lyapunov. Los resultados de la simulación demuestran
su desempeño. En el capı́tulo 2, Ordaz-Oliver, et al., hacen una aportación en la
técnica de diseño de estrategias de control de movimiento libre basadas en pasivi-
dad aplicadas a sistemas Euler-Lagrange, particularmente en robots manipuladores.
Lo anterior ilustrado con casos de estudio en donde se incluyen pruebas de estabili-
dad en el sentido Lyapunov, ası́ como la presentación de resultados experimentales
donde se muestra el desempeño de los controladores diseñados. En el capı́tulo 3,
Silva-Ortigoza, et al., se centran en los aspectos del análisis, diseño, construcción
e instrumentación de un robot móvil de tipo diferencial. Para el diseño emplea el
potencial de herramientas de software de desarrollo. En la etapa de construcción
describe paso a paso la evolución de la estructura mecánica con explicaciones e
ilustraciones prácticas. La instrumentación la lleva a cabo mediante el uso de una
tarjeta de adquisición de datos para el control del robot.
A continuación se presentan dos aplicaciones de la mecatrónica, en el capı́tu-
lo 4, Muñoz-Hernández, et al., proponen el modelado de una planta hidroeléctrica
con control predictivo basado en el modelo hı́brido. Para lograr este propósito de-
fine las reglas heurı́sticas correspondientes y los resultados obtenidos son evaluados
haciendo una comparación contra el desempeño del control clásico, demostrando
que el control predictivo es más eficiente. Y en el capı́tulo 5, Hernández-Guzmán,
hace un análisis metodológico que justifica el uso de lazos de corriente en sistemas
electromecánicos, cuando su control es de par o de corriente. Presenta además un
estudio para establecer las condiciones que garanticen la estabilidad asintótica del
sistema, partiendo de los problemas de control de posición de un motor de CD con
escobillas y de robots manipuladores equipados con motores de CD sin escobillas.
Los resultados presentados en simulación demuestran el desempeño en ambos ca-
sos.
La instrumentación es parte intrı́nseca de la mecatrónica, en el capı́tulo 6, Juárez-
Guerra et al., presentan la importancia que tiene la instrumentación virtual aplicada
a procesos industriales o eventos desarrollados con fines didácticos en los labo-
ratorios de enseñanza. Se describe la instrumentación tradicional y la virtual para
exponer en forma clara el concepto de instrumentación virtual, ası́ como los compo-
nentes que integran la base de la misma. Una descripción de las diferentes platafor-
mas de desarrollo de la instrumentación virtual se muestra, para finalmente exponer
el lugar que está adquiriendo la misma en la ingenierı́a. Y en el capı́tulo 7, Saldaña-
González presenta los principios básicos de la visión por computadora, ilustrando
con ejemplos prácticos su relación con los sistemas mecatrónicos, especı́ficamente
Prefacio V

en el campo de la robótica. Aborda la forma en que se presentan las imágenes,


obtenidas por medio de sensores, ası́ como los algoritmos esenciales para extraer
información a partir de una imagen, para posteriormente ser procesada en los llama-
dos FPGA (Field Programable Gate Array).
Finalmente la optimización es tratada en el capı́tulo 8, en donde Mezura-Montes,
et al., describen dos novedosas heurı́sticas inspiradas en la naturaleza para resolver
problemas de diseño en ingenierı́a: La colonia artificial de abejas y la optimización
mediante el forrajeo de bacterias. Dado que en ocasiones los métodos clásicos de
optimización pudieran ser complicados de aplicar o los resultados no fueran los
esperados, el conocer formas alternativas de solución es una habilidad importante
para los especialistas en diseños mecatrónicos.
La compilación de esta obra ha sido posible gracias a la colaboración de inves-
tigadores que realizan sus investigaciones en instituciones de reconocido prestigio,
tanto nacionales como internacionales, quienes han aportado sus conocimientos y
experiencias acumulados durante su trayectoria profesional.
Los editores del libro creemos, sin lugar a dudas, que la obra es una aportación
no sólo para los estudiantes de mecatrónica, sino también para los docentes y los
investigadores noveles. Por lo que este libro está dedicado a aquellos que en su afán
de coadyuvar en el crecimiento de esta disciplina buscan un material asequible en
nuestro idioma, siendo esto último una de sus principales aportaciones.
Este libro forma parte de la Colección CIDETEC-IPN, que ha apoyado signi-
ficativamente su edición, dado su compromiso con la comunidad académica y de
investigación para difundir el conocimiento.
Asimismo, este trabajo ha sido apoyado principalmente por la Secretarı́a de In-
vestigación y Posgrado del Instituto Politécnico Nacional (SIP-IPN), a través de los
proyectos 20100045, 20100682, y 20101360. R. Silva-Ortigoza y E. A. Portilla-
Flores, agradecen al Sistema Nacional de Investigadores (SNI) el soporte económi-
co recibido, ası́ como al programa de estı́mulos del IPN EDI. De igual manera, R.
Silva-Ortigoza, E. A. Portilla-Flores y M. A. Molina-Vilchis agradecen al programa
de estı́mulos del IPN COFAA, por el soporte económico recibido.
R. Silva-Ortigoza dedica su trabajo en este libro a su esposa Jessica Belén López
e hijos, Joserhamón y Rhomina, por ser su inspiración para dar lo mejor de sı́ mismo
siempre, y porque aun sin que ellos le otorgasen parte de su tiempo que les corres-
ponde de su persona, le regalaron el mismo involuntariamente durante la escritura
de este proyecto. E. A. Portilla-Flores agradece el apoyo manifiesto para realizar
su quehacer académico y de investigación a Abi, Axel, Erick y Edgar. Espero que
todo esfuerzo sea ejemplo a seguir. Finalmente, M. A. Molina-Vilchis agradece a su
esposo Enrique por su apoyo, sus consejos y su compañı́a que a lo largo de los años
se han convertido en el fundamento de su quehacer académico. A sus hijos Itzel y
Eleazar por ser la motivación de su vida.

México, D. F, México, Ramón Silva-Ortigoza


Octubre 2010. Edgar Alfredo Portilla-Flores
Marı́a Aurora Molina-Vilchis
Índice general

1. Esquemas de Control Descentralizados para Manipuladores


Robóticos Cooperativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
R. Garcı́a-Rodrı́guez
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Propiedades de la dinámica de un sistema cooperativo
de manipuladores robóticos . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2. Velocidades y posiciones restringidas . . . . . . . . . . . . . . . . . 7
1.3. Dinámica del error en lazo abierto . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4. Variedades de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1. Referencia nominal de posición articular . . . . . . . . . . . . . . 10
1.4.2. Referencia nominal de posición cartesiana . . . . . . . . . . . . . 11
1.5. Diseño del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6. Resultados de simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2. Diseño de Estrategias de Control Basadas en Pasividad para
Sistemas Euler-Lagrange Aplicado en Robots Manipuladores . . . . . . 21
J. P. Ordaz-Oliver, O. A. Domı́nguez-Ramı́rez, V. Parra-Vega y A.
Jarillo-Silva
Lista de acrónimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Lista de locuciones latinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Preliminares matemáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.1. Conceptos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.2. Conceptos de estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.3. Estabilidad en el sentido de Lyapunov (segundo método) 32
2.2.4. Principio de invarianza de LaSalle . . . . . . . . . . . . . . . . . . . 35
2.2.5. Ecuaciones de Hamilton-Jacobi-Bellman . . . . . . . . . . . . . . 38
2.3. Sistemas EL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

VII
VIII Índice general

2.3.1. Modelado de sistemas EL . . . . . . . . . . . . . . . . . . . . . . . . . . . 39


2.3.2. Suposiciones y propiedades . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.4. Plataforma robótica experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.1. Descripción de la dinámica . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2. Descripción de la tarea experimental . . . . . . . . . . . . . . . . . 47
2.5. Control por retroalimentación de estados . . . . . . . . . . . . . . . . . . . . . . 48
2.5.1. Control PD+G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.5.2. Control par calculado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.6. Control de estructura variable y control adaptable . . . . . . . . . . . . . . 59
2.6.1. Propiedades de las funciones hiperbólicas . . . . . . . . . . . . . 60
2.6.2. Controlador por modos deslizantes de primer orden . . . . . 61
2.6.3. Controlador por modos deslizantes de segundo orden . . . 63
2.6.4. Controladores con estructura adaptable . . . . . . . . . . . . . . . 67
2.6.5. Bosquejo de estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.7. Control sub-óptimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3. Diseño, Construcción e Instrumentación de un Robot Móvil
Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
R. Silva-Ortigoza, J. R. Garcı́a-Sánchez, V. R. Barrientos-Sotelo, G.
Silva-Ortigoza, M. A. Molina-Vilchis y M. Marciano-Melchor
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.2. Descripción general de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . 82
3.2.1. Etapa 1: Subsistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2.2. Etapa 2: Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.2.3. Etapa 3: Adquisición de datos y control . . . . . . . . . . . . . . . 84
3.3. Etapa 1: Subsistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.3.1. Subsistema a: Actuadores y sensores . . . . . . . . . . . . . . . . . 84
3.3.2. Subsistema b: Diseño mecánico . . . . . . . . . . . . . . . . . . . . . . 93
3.4. Etapa 2: Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.4.1. Subetapa 1: Circuito fuente . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.4.2. Subetapa 2: Circuito optoacoplador . . . . . . . . . . . . . . . . . . 104
3.4.3. Subetapa 3: Circuito controlador (puente H) . . . . . . . . . . . 105
3.4.4. Subetapa 4: Circuito encoder . . . . . . . . . . . . . . . . . . . . . . . . 107
3.5. Etapa 3: Adquisición de datos y control . . . . . . . . . . . . . . . . . . . . . . . 109
3.5.1. Circuito interfase DSP-móvil . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6. Prototipo finalizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4. Control Predictivo de una Planta Hidroeléctrica . . . . . . . . . . . . . . . . . . 117
G. A. Muñoz-Hernández, D. I. Jones y S. P. Mansoor
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4.2. Sistemas hı́bridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.2.1. Programación de enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Índice general IX

4.2.2. Un ejemplo de un sistema hidráulico MLD . . . . . . . . . . . . 121


4.3. Modelo de la planta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.3.1. Modelo no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4.3.2. Modelo lineal multivariable . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.3.3. Modelo MLD hidráulico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.4. Evaluación del modelo MLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.5. Control predictivo MLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.6. Evaluación del control predictivo MLD . . . . . . . . . . . . . . . . . . . . . . . 134
4.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

5. Lazos de Corriente en Sistemas Electromecánicos . . . . . . . . . . . . . . . . 141


V. M. Hernández-Guzmán
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.2. Control de posición de un motor de CD con escobillas . . . . . . . . . . 142
5.2.1. Modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5.2.2. Diseño del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.2.3. Resultados en simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.3. Control de robots equipados con motores de CD sin escobillas . . . 153
5.3.1. Modelo dinámico de robots equipados con motores de
CD sin escobillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.3.2. Algunos resultados importantes . . . . . . . . . . . . . . . . . . . . . . 156
5.3.3. Diseño del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.3.4. Resultados en simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

6. Instrumentación Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169


E. Juárez-Guerra, E. A. Portilla-Flores, A. Cano-Corona y C.
Sánchez-Olavarrı́a
6.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.2. Evolución de la instrumentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.2.1. Instrumentos tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . 171
6.2.2. Instrumentos inteligentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.2.3. Instrumentos virtuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3. Instrumentación virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
6.3.1. El concepto de instrumentación virtual . . . . . . . . . . . . . . . . 176
6.3.2. Caracterı́sticas de la instrumentación virtual . . . . . . . . . . . 178
6.4. El software en la instrumentación virtual . . . . . . . . . . . . . . . . . . . . . . 184
6.4.1. Herramientas para la instrumentación virtual . . . . . . . . . . . 184
6.4.2. LabVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.4.3. Agilent VEE Pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
6.4.4. CyberTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.4.5. DASYLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.4.6. Matlab Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
6.5. La instrumentación virtual dentro del proceso de ingenierı́a . . . . . . 193
6.5.1. Diseño e investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
X Índice general

6.5.2. Simulación de manufactura . . . . . . . . . . . . . . . . . . . . . . . . . 194


6.5.3. Manufactura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.5.4. La instrumentación virtual en el proceso de
enseñanza-aprendizaje de la ingenierı́a . . . . . . . . . . . . . . . . 194
6.5.5. Las nuevas tecnologı́as de la información y la
comunicación como herramientas para mejorar el
proceso de enseñanza-aprendizaje de la ingenierı́a . . . . . . 195
6.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
7. Visión por Computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
G. Saldaña-González
7.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
7.2. Visión por computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7.3. Relación con otras áreas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
7.4. Formación de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.4.1. Cámaras CCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
7.4.2. Frame grabber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
7.5. Representación de imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.6. Principales operaciones con las imágenes . . . . . . . . . . . . . . . . . . . . . 215
7.6.1. Análisis a bajo nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
7.6.2. Análisis a nivel intermedio . . . . . . . . . . . . . . . . . . . . . . . . . . 216
7.6.3. Análisis en alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.7. Procesamiento de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.7.1. Tipos de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
7.7.2. Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
7.7.3. Operadores unarios, punto a punto . . . . . . . . . . . . . . . . . . . 220
7.7.4. Operadores binarios, punto a punto . . . . . . . . . . . . . . . . . . . 222
7.7.5. Operadores locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
7.7.6. Operadores locales lineales . . . . . . . . . . . . . . . . . . . . . . . . . 224
7.7.7. Operadores locales no lineales . . . . . . . . . . . . . . . . . . . . . . . 227
7.7.8. Operadores N-tuple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
7.7.9. Efectos de borde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
7.7.10. Histograma de intensidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
7.7.11. Imágenes binarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
7.8. Morfologı́a matemática binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
7.8.1. Operaciones de apertura y cierre . . . . . . . . . . . . . . . . . . . . . 239
7.9. Morfologı́a en escala de grises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
7.9.1. Dilatación en escala de grises . . . . . . . . . . . . . . . . . . . . . . . 241
7.9.2. Erosión en escala de grises . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.9.3. Apertura en niveles de gris . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.9.4. Cerradura en escala de grises . . . . . . . . . . . . . . . . . . . . . . . . 241
7.10. Sistemas de visión basados en FPGA . . . . . . . . . . . . . . . . . . . . . . . . . 242
7.10.1. Demandas de los sistemas de visión . . . . . . . . . . . . . . . . . . 242
7.10.2. Aceleración por hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Índice general XI

7.10.3. Dispositivos FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243


7.10.4. Consideraciones para la implementación de una
arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.10.5. Ejemplo de aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.10.6. Desempeño y flexibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
8. Nuevas Heurı́sticas Inspiradas en la Naturaleza para Optimización
Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
E. Mezura-Montes, O. Cetina-Domı́nguez y B. Hernández-Ocaña
8.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
8.1.1. Técnicas de optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
8.1.2. Métodos no tradicionales (heurı́sticas) . . . . . . . . . . . . . . . . 251
8.2. Componentes de un algoritmo bio-inspirado . . . . . . . . . . . . . . . . . . . 253
8.3. La colonia artificial de abejas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.3.1. Elementos del ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.3.2. Pasos del algoritmo ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.3.3. Ejemplo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.4. Optimización mediante el forrajeo de bacterias (BFOA) . . . . . . . . . 263
8.4.1. Elementos del MBFOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.4.2. Pasos del algoritmo MBFOA . . . . . . . . . . . . . . . . . . . . . . . . 265
8.4.3. Ejemplo de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Lista de Autores

Barrientos-Sotelo V. R.
CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica. Av. Juan de
Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo
López Mateos”. C.P. 07700, México, D.F., MÉXICO
Cano-Corona A.
Universidad Politécnica de Tlaxcala, Carretera Federal Tlaxcala-Zacatelco,
Km. 9.5, San Lorenzo Axocomanitla, Tlaxcala, México. CP. e-mail: ari-
co 96@yahoo.com
Cetina-Domı́nguez O.
Laboratorio Nacional de Informática Avanzada (LANIA A.C.), Rébsamen 80,
Centro, Xalapa, Veracruz, 91000 MEXICO, e-mail: omarcetina@hotmail.com
Domı́nguez-Ramı́rez Omar A
Universidad Autónoma del Estado de Hidalgo, Instituto de Ciencias Básicas e
Ingenierı́a, Centro deInvestigación en Tecnologı́as de Información y Sistemas,Carr.
Pachuca-Tulancingo, Km. 4.5, México, (Tel: +52 771-7172000 ext. 6734), e-mail:
omar@uaeh.edu.mx
Garcı́a-Rodrı́guez R.
Universidad de Chile, Departamento de Ingenierı́a Eléctrica, Av. Tupper 2007,
Santiago, CHILE, e-mail: rgarciar@ing.uchile.cl
Garcı́a-Sánchez J. R.
CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica. Av. Juan de
Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo
López Mateos”. C.P. 07700, México, D.F., MÉXICO
Hernández-Guzmán V. M.
Universidad Autónoma de Querétaro. Facultad de Ingenierı́a. A.P. 3-24, Querétaro,
Qro. 76150, México, e-mail: vmhg@uaq.mx

XIII
XIV Lista de Autores

Hernández-Ocaña B.
Universidad Juárez Autónoma de Tabasco, División Académica de In-
formática y Sistemas, Km. 1 Carr. Cunduacán-Jalpa de Méndez, e-mail:
betania h o@hotmail.com
Jarillo-Silva A.
Universidad Autónoma del Estado de Hidalgo, Instituto de Ciencias Básicas e
Ingenierı́a, Centro deInvestigación en Tecnologı́as de Información y Sistemas, Carr.
Pachuca-Tulancingo, Km. 4.5, México, (Tel: +52 771-7172000 ext. 6734), e-mail:
jarillo@uaeh.edu.mx
Jones D.I.
Centre for Advanced Software Technology, Technium Wales network Ffordd Pen-
lan Parc Menai Bangor Paı́s de Gales, LL574HJ U.K., e-mail: dewi@gwefr.co.uk
Juárez-Guerra E.
Universidad Autónoma de Tlaxcala, Facultad de Ciencias Básicas. Ingenierı́a
y Tecnologı́a, Calzada Apizaquito s/n Km. 1.5, Apizaco, Tlaxcala, México.
CP.90300, e-mail: ejuarez@ingenieria.uatx.mx
Mansoor S. P.
University of Bangor School of Informatics, Dean Street, Bangor Paı́s de Gales,
LL57 1UT U.K., e-mail: s.mansoor@bangor.ac.uk
Marciano-Melchor M.
CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica, Av. Juan de
Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo
López Mateos”. C.P. 07700, México, D.F., MÉXICO, e-mail: mmarciano@ipn.mx
Mezura-Montes E.
Laboratorio Nacional de Informática Avanzada (LANIA A.C.), Rébsamen 80,
Centro, Xalapa, Veracruz, 91000 MEXICO, e-mail: emezura@lania.mx
Molina-Vilchis M. A.
CIDETEC-IPN, Departamento de Posgrado. Área de Telemática. Av, Juan de Dios
Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo López
Mateos”. C.P. 07700, México D.F., MÉXICO, e-mail: mamolinav@ipn.mx
Muñoz Hernández G. A.
Instituto Tecnológico de Puebla, Av. Tecnológico 420, Col. Maravillas, Puebla,
Puebla, 72220 MEXICO, e-mail: gmunoz@ieee.org
Ordaz-Oliver J. Patricio,
Universidad Politécnica de Pachuca, Ex Hacienda Sta. Bárbara, Municipio de
Zempoala, Hgo., México, (Tel: +52 771-5477510), e-mail: patricio@upp.edu.mx
Lista de Autores XV

Parra-Vega Vicente
Centro de Investigación y Estudios Avanzados, Grupo de Robótica y Manufactura
Avanzada - Cinvestav Saltillo - Carretera Saltillo-Monterrey, Km 13.5, CP
25000, Ramos Arizpe, Coahuila, México (Tel y Fax +52 844-4390305), e-mail:
vparra@cinvestav.edu.mx.
Portilla-Flores E. A.
CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica Av. Juan de Dios
Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo López
Mateos”. C.P. 07700, México, D.F., MÉXICO, e-mail: aportilla@ipn.mx
Saldaña González G.
Universidad Tecnológica de Puebla, Antiguo Camino a la Resurrección
1002-A, Zona Industrial, Puebla, Puebla, 72300 MEXICO, e-mail: grisel-
da.saldana@utpuebla.edu.mx
Sánchez-Olavarrı́a C.
Universidad del Altiplano, Eucalipto No. 1, Col. El Sabinal. Tlaxcala, Tlaxcala.
90102, México, e-mail: cesar ari@hotmail.com
Silva-Ortigoza G.
Benemérita Universidad Autónoma de Puebla, Facultad de Ciencias Fı́sico
Matemáticas. Ap. Postal 1152. C.P. 72001, Puebla, Pue., MÉXICO, e-mail:
gsilva@fcfm.buap.mx
Silva-Ortigoza R.
CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica. Av. Juan de
Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal, “Unidad Profesional Adolfo
López Mateos”. C.P. 07700, México D.F., e-mail: rsilvao@ipn.mx
Capı́tulo 1
Esquemas de Control Descentralizados para
Manipuladores Robóticos Cooperativos

R. Garcı́a-Rodrı́guez

Resumen Un sistema de manipuladores robóticos cooperativos nos proporciona


mayor espacio de trabajo, mayor capacidad de carga y más habilidad a diferen-
cia de un solo robot manipulador. Al interactuar en el mismo espacio de trabajo
varios manipuladores robóticos, es posible manipular objetos largos y pesados y
por consiguiente ejecutar tareas más complejas. De tal forma diseñar controladores
que garanticen un rápido seguimiento de fuerza y posición de acuerdo a la tarea
se vuelve indispensable. En este capı́tulo se presenta un controlador descentraliza-
do continuo y libre de modelo tanto para el caso articular como cartesiano, para
un sistema de manipuladores robóticos cooperativos manipulando un objeto rı́gido.
Mediante el uso de superficies deslizantes de segundo orden para posición y fuerza
el controlador compensará la dinámica de cada robot manipulador, las dinámicas
no modeladas además de eliminar el castañeo. Se demuestra estabilidad asintótica
de los errores de seguimiento de fuerza y posición mediante la teorı́a de estabilidad
de Lyapunov. El desempeño del controlador se presenta a través de simulaciones
numéricas para dos manipuladores robóticos manipulando un objeto.

1.1. Introducción

Desde su aparición los robots manipuladores han sido utilizados para ejecutar di-
versas tareas como: ensamblaje, inspección, soldadura, transferencia de materiales
entre otras. Cada robot manipulador en la mayorı́a de los casos tiene incorporado
un elemento que le permite agarrar/sostener diversos materiales, accesorios y/o he-
rramentales1 para realizar una tarea especı́fica, a través del cual mantiene contacto

R. Garcı́a-Rodrı́guez
Universidad de Chile, Departamento de Ingenierı́a Eléctrica,
Av. Tupper 2007, Santiago, CHILE
e-mail: rgarciar@ing.uchile.cl
1 two-jaw gripper en inglés

1
2 R. Garcı́a-Rodrı́guez

con su medio ambiente. Sin embargo, la principal desventaja es su limitado rango


de movimiento y capacidad de carga.
Cuando varios robots manipuladores interactúan en el mismo espacio de trabajo
para manipular o mover un objeto se incrementa la habilidad para realizar tareas
complejas ası́ como la capacidad para manipular objetos largos y pesados. Asimis-
mo se forma una cadena cinemática cerrada la cual impondrá un conjunto de restric-
ciones homogéneas sobre algunas posiciones de los robots manipuladores causando
de esta forma una serie de interacciones más complejas tanto dinámicas como cine-
máticas, Figura 1.1.

Figura 1.1 Sistema de manipuladores robóticos manupilando un objeto rı́gido.

Uno de los primeros esquemas propuestos para el control de un sistema coope-


rativo de manipuladores robóticos es el llamado maestro-esclavo [1], [2] donde el
maestro induce los movimientos del objeto es controlado en posición; mientras el
esclavo debe regular las fuerzas internas durante el movimiento del objeto es con-
trolada solamente la fuerza. Sin embargo, no está bien definido quien debe ser el
maestro o el esclavo sobre todo cuando tienen el mismo número de grados de li-
bertad. Otro enfoque es el control por impedancia el cual se basa en el control por
impedancia para un robot manipulador. Básicamente la impedancia establece una
relación lineal entre la fuerza aplicada al elemento terminal del robot manipulador y
el error entre la configuración actual y deseada del elemento terminal. Produciéndo
una reacción limitada y predecible ante cualquier perturbación. El control de fuerza
se realiza simplemente añadiendo un lazo externo de control sobre el existente es-
quema de impedancia [16], [17]. Variaciones a este esquema se han presentado en
[4],[14] y recientemente en [27].
En [8] se propone un nuevo enfoque descentralizado donde se linealiza el esque-
ma cooperativo el cual es manejado por el espacio de la restricción para una dinámi-
ca conocida. Un método que transforma las ecuaciones dinámicas del sistema coo-
perativo a un sistema lineal con sus ecuaciones en forma de matrices desacopladas
se presenta en [9] y [29]. En [5], [31] se analiza un agarre estable y una distribución
de carga en cada robot manipulador usando un planificador óptimo de trayectorias,
mientras el esquema cooperativo es obtenido asumiendo restricciones homogéneas,
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 3

las cuales producen trayectorias restringidas [20], [21]. Un esquema de distribución


óptimo de fuerza para un sistema cooperativo de manipuladores robóticos fue pro-
puesto en [15]. En [22] un controlador robusto es propuesto usando un algoritmo
deslizante para modelar las imprecisiones y perturbaciones.
Cuando en un sistema cooperativo -manipuladores robóticos/objeto; se ejecutan
diversas tareas, algunos de sus parámetros pueden variar con el tiempo. De tal for-
ma el controlador debe ser capaz de compensar estas variaciones paramétricas para
evitar inestabilidades durante la ejecución de una tarea. Si además, los parámetros
son desconocidos el problema es mas complejo e interesante. Para compensar es-
ta incertidumbre paramétrica2 , varios esquemas han sido propuestos, uno de ellos
es el basado en redes neuronales. En [25], [26] se aproxima la dinámica de todo
el sistema cooperativo sin embargo en la mayorı́a de estos esquemas se presentan
redes neuronales de gran tamaño, las cuales son poco prácticas para aplicaciones
en tiempo real. En ocasiones un término de alta frecuencia en la ley de control se
adiciona para asegurar una convergencia asintótica. Sin embargo este componente
de alta frecuencia presenta un castañeo el cual es eliminado en varios esquemas a
través de una función de saturación.
Por otro lado, los esquemas de control adaptable [6], [7], [10], [11], [28] se basan
en aproximar la dinámica del sistema cooperativo por medio de una estimación en
lı́nea de sus parámetros mediante leyes de adaptación bien definidas. Estos contro-
ladores se conocen como robustos ante variaciones paramétricas estructurados. En
[30] se presenta un esquema de control adaptable no distribuido para estimar los
parámetros tanto de los manipuladores robóticos como del objeto.
Dado que en un sistema cooperativo de multiples manipuladores robóticos el
espacio-estado tiene una alta dimensión, tenemos que un esquema de control cen-
tralizado sufre de una compleja arquitectura. Por consiguiente, es deseable que cada
robot manipulador tenga su propio controlador dado que la comunicación entre el
y su controlador puede sufrir retrasos [13]. En [20] se presenta un esquema de con-
trol distribuido cooperativo en el espacio cartesiano sin ninguna comunicación, sin
embargo no es un control adaptable. En [12] se presenta un esquema coordinado de
control adaptable sin sensor de fuerza donde cada robot manipulador es controla-
do de manera independiente, sin embargo la convergencia asintótica de las fuerzas
internas no es garantizada. En [23] se propone un esquema de alta precisión en la
prensión y manipulación por medio de un control adaptable, en donde se compen-
sarán todas las incertidumbres paramétricas permitiendo una alta precisión en el
seguimiento. Sin embargo, para implementar este controlador se necesita conocer
tanto el regresor para cada robot ası́ como la cinemática del objeto, lo cual es una
desventaja para su implementación en tiempo real.
En este capı́tulo se presenta un controlador descentralizado tipo PD-deslizante
para fuerza y posición, donde todo el sistema es modelado por medio de DAE3 ,
de tal forma el modelo dinámico incluirá naturalmente las restricciones cinemáticas
del objeto. Una de las caracterı́sticas de este esquema es que no se requiere el co-

2 Si los parámetros varı́an con el tiempo se requerirá una mayor demanda de computo
3 Ecuaciones Diferenciales Algebraicas
4 R. Garcı́a-Rodrı́guez

nocimiento de las caracterı́sticas del objeto, de forma que los errores dinámicos
residuales son cancelados por un modo deslizante de segundo orden para garantizar
la convergencia de los errores de seguimiento de fuerza y posición. Por otro lado, el
modo deslizante de segundo orden nos permite obtener un control suave, continuo
y libre de castañeo.
Es importante mencionar que a lo largo de este capı́tulo el objeto será consi-
derado como rı́gido e indeformable. Adicionalmente, supondremos que no existe
deslizamiento ni rotación entre cada robot y el objeto, es decir, no hay un movimien-
to relativo entre ambos.
Este capı́tulo está organizado de la siguiente forma: en la Sección 1.2 se pre-
senta el modelo dinámico del sistema cooperativo de manipuladores robóticos, la
dinámica del error en lazo abierto se presenta en la Sección 1.3. La definición de las
referencias nominales de fuerza y posición -cartesianas y articulares se presentan en
la Sección 1.4, mientras en la Sección 1.5 se presenta el diseño del controlador. Fi-
nalmente en la Sección 1.6 y 1.7 se presentan los resultados de simulación obtenidos
y las conclusiones, respectivamente.

1.2. Modelo dinámico

Comenzaremos esta sección con una serie de definiciones que serán de utilidad a
lo largo de este capı́tulo. Posteriormente se presentará el modelo dinámico para un
sistema cooperativo de manipuladores robóticos.
Definición 1. Se llama restricción holonómica aquella ecuación algebraica que
aparece en un sistema a nivel cinemático y es descrita como

ϕ (x,t) = 0 (1.1)

donde x ∈ ℜm que denota las variables de posición cartesiana con m ≤ 6 la cual es


la dimensión de la tarea.
Cuando varios robots manipuladores sostienen firmemente un objeto, a las res-
tricciones se les denomina del tipo sclero-holonómas4 . De tal forma, una coope-
ración holónomica existe si las restricciones sobre un sistema cooperativo formado
por l manipuladores robóticos son sclero-holonómas y pueden expresarse como

ϕ (q1 , q2 , . . . , ql ) ≡ Σi=1
l
ϕi (qi ) = 0 (1.2)

donde ϕi (qi ) es un vector de funciones que depende solo de las variables articulares
del robot manipulador-i.
Se asumirá en este capı́tulo que el número de restricciones del sistema coopera-
tivo es igual al número de robots manipuladores que lo conforman, es decir, se tiene
una restricción de movimiento para cada robot manipulador del sistema. Además de
que cada robot manipulador sujeta al objeto en un solo punto de contacto.

4 El tiempo no aparece de manera explı́cita en la restricción.


1. Control Descentralizado de Manipuladores Robóticos Cooperativos 5

La dinámica del robot manipulador-i de un sistema cooperativo formado por l-


robots de n = ∑ni=1 ni grados de libertad es definida como

Hi (qi )q̈i +Ci (qi , q̇i )q̇i + gi (qi ) = τi + JϕTi + (qi )λi , i = 1, . . . , l (1.3)
ϕi (qi ) = 0 (1.4)

donde qi , q̇i , q̈i ∈ ℜn son los vectores de variables de posición, velocidad y acele-
ración articular respectivamente del robot i, Hi (qi ) ∈ ℜnxn representa la matriz de
inercia, Ci (qi , q̇i ) ∈ ℜnxn es la matriz Coriolis la cual modela las fuerzas centrı́petas
y centrı́fugas, gi (qi ) ∈ ℜn es un vector que representa los pares gravitacionales, τi ∈
ℜn representa los torques de control, JϕTi + (qi )λi ∈ ℜn es un vector que representa las
fuerzas de reacción o de contacto ejercidas en el robot manipulador-i por el sistema
cooperativo y λi ∈ ℜ1 es el multiplicador de Lagrange.
Note que las fuerzas de contacto entre los robots manipuladores y el objeto son
mapeadas a la dinámica de cada manipulador vı́a el jacobiano de la restricción
definido como
∂ ϕi (qi ) ∂ ϕi (x(qi ))
Jϕi (qi ) = = ∈ ℜ1xn (1.5)
∂ qi ∂ qi
de tal forma para un sistema cooperativo formado por l manipuladores robóticos
tenemos que
ϕ̇i (qi ) = Σi=1
l
Jϕi (qi )q̇i = 0 i = 1, . . . , l. (1.6)
Con la finalidad de que los multiplicadores de Lagrange puedan ser considerados
como la magnitud de la fuerza de contacto, usaremos el jacobiano de la restricción
JϕTi + (qi ) ∈ ℜ1xn normalizado, es decir

∂ ϕi (q)
JϕTi
JϕTi + (qi ) = ° ∂ ϕ∂ q(qi ° = (1.7)
° i )° Jϕi JϕTi
° ∂ qi °

Dado que la dinámica de cada robot manipulador del sistema cooperativo está su-
jeta a una restricción de la forma (1.4), la dinámica queda restringida a una variedad
de la forma © ª
M = (qi , q̇i ) : ϕi (qi ) = 0, JϕTi (qi )q̇i = 0 (1.8)
es decir, cuando la dinámica de cada robot manipulador evoluciona en su corres-
pondiente variedad (1.8), podemos asegurar que dicho robot manipulador cumple
con su restricción asociada ası́ como con la trayectoria de posición deseada en todo
instante de tiempo, manteniendo el contacto con el objeto manipulado.
Por otro lado, las restricciones definidas en (1.2) modelarán al objeto causando
una reducción de grados de libertad del sistema cooperativo, esto se debe a que los
elementos terminales de los robots manipuladores deben mantener el contacto con
el objeto, por lo que no se pueden mover en todas las direcciones. De tal forma
el sistema de manipuladores robóticos pierde tantos grados de libertad como res-
tricciones independientes de movimiento sean impuestas sobre ellos. Los grados de
libertad perdidos se convierten en grados de libertad de fuerza dado que en las di-
6 R. Garcı́a-Rodrı́guez

recciones restringidas aparecen fuerzas de contacto, es decir, el sistema cooperativo


consta de l restricciones y de (n-l) grados de libertad de movimiento.

1.2.1. Propiedades de la dinámica de un sistema cooperativo de


manipuladores robóticos

Algunas propiedades importantes de la dinámica de un sistema cooperativo de


manipuladores robóticos, que serán utilizadas a lo largo se muestran a continuación
Propiedad 1. La matriz de inercia Hi (qi ) ∈ ℜnxn es simétrica, definida positiva y
uniformemente acotada por debajo, por lo tanto su inversa Hi−1 (qi ) ∈ ℜnxn siempre
existe y es también uniformemente acotada.
Propiedad 2. La matriz 12 Ḣi (qi ) −Ci (qi , q̇i ) es antisimétrica y por lo tanto satis-
face · ¸
1
ZT Ḣi (qi ) −Ci (qi , q̇i ) Z = 0
2
para cualquier vector Z ∈ ℜn
Propiedad 3. La dinámica de cada robot manipulador involucrado en un sistema
cooperativo puede ser representado como una combinación lineal de parámetros
fı́sicos y funciones conocidas o medibles de las variables articulares, de la forma

Hi (qi )q̈i + (Ci (qi , q̇i ) + Boi )q̇i + gi (qi ) = Yi (qi , q̇i , q̈i )Θi

donde Yi (qi , q̇i , q̈i ) ∈ ℜnxp es una matriz de funciones conocidas, Θi ∈ ℜ p es el vector
de parámetros fı́sicos tales como masas de los eslabones, momentos de inercia y
productos de estos.
Propiedad 4. Las fuerzas de reacción JϕTi + (qi )λi ejercidas sobre el manipulador
i por el sistema cooperativo se encuentran en un plano normal al plano tangente
del punto de contacto i, por lo que el span(JϕTi (qi )) es exactamente esta imagen. El
plano tangente al punto de contacto i es llamado plano de movimiento, y en el se
encuentran las variables de velocidad articular q̇i , por lo que

d ϕi
= Jϕi (qi )q̇i = 0
dt
Propiedad 5. Cada robot manipulador involucrado en un sistema cooperativo
establece un mapeo estrictamente pasivo entre los torques τi y las velocidades de ar-
ticulación q̇i [19], [24]. La propiedad de pasividad es muy importante ya que implica
que el sistema no puede generar energı́a, y en caso de que el sistema sea estricta-
mente pasivo [18], se tiene que el sistema además de no generar energı́a, la disipa y
por lo tanto es asintóticamente estable en lazo abierto.
Dado que los robots manipuladores que forman un sistema cooperativo están su-
jetos a restricciones holonómicas, existen ciertos grados de libertad de posición y
velocidad, en los cuales los robots manipuladores no pueden evolucionar. En es-
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 7

tas direcciones restringidas para cada robot manipulador aparecen los conceptos de
velocidad y posición restringida.

1.2.2. Velocidades y posiciones restringidas

Para lograr un trabajo cooperativo eficiente de cada uno de los robots manipula-
dores, se han definido algunas variables que nos indicarán los efectos de las fuerzas
que cada robot manipulador ejerce sobre los otros a través del objeto, es decir, son
variables que contienen información de los efectos de las fuerzas de contacto en
términos de lo que se ha denominado posición y velocidad restringida [19].
Definición 2. Dada una restricción holonómica se tiene que la variable de posi-
ción y velocidad restringida para el manipulador-i es definida como
Z t
pi = Jϕi (qi )q̇i dt, ṗi = Jϕi (qi )q̇i (1.9)
0

donde pi , ṗi ∈ ℜ1 y Jϕi (qi ) es dado por la ecuación (1.7).


Cuando una trayectoria de posición deseada es especificada para un sistema coo-
perativo de manipuladores robóticos, se tiene que las correspondientes variables de
velocidad y posición restringida son calculadas directamente en función de las ve-
locidades y posiciones articulares deseadas, respectivamente:
Z t
ṗdi = Jϕi (qi )q̇di , pdi = Jϕi (qdi )q̇di dt (1.10)
0

las cuales deben satisfacer que ∑li=1 pdi = 0 y ∑li=1 ṗdi = 0.


Para asegurar que el objeto está en contacto con los elementos terminales de cada
uno de los robots manipuladores del sistema cooperativo, se tiene que
l l
∑ ∆ pi = 0, ∑ ∆ ṗi = 0 (1.11)
i=1 i=1

donde ∆ pi = pi − pdi , ∆ ṗi = ṗi − ṗdi . De tal forma, tanto los errores de posición y
velocidad restringida deben ser tomados en cuenta en el diseño del controlador.

1.3. Dinámica del error en lazo abierto

Parametrizando la dinámica de cada robot manipulador en términos de una refe-


rencia nominal obtenemos

Hi (qi )q̈ri +Ci (qi , q̇i )q̇ri + gi (qi ) = YriΘi (1.12)


8 R. Garcı́a-Rodrı́guez

donde el regresor YriΘi = Yri (qi , q̇i , q̇ri , q̈ri ) está compuesto de funciones no lineales
conocidas y Θi ∈ ℜ p representa parámetros constantes desconocidos, con (q̇ri , q̈ri )
a ser definidas posteriormente. Si sumamos y restamos (1.12) a (1.3), la ecuación
del sistema en lazo abierto está dada como

Hi (qi )Ṡri +Ci (qi , q̇i )Sri = τi −YriΘi + JϕTi + λi (1.13)

donde Sri es el error extendido, el cual realiza un cambio de coordenadas a través de


la referencia nominal q̇r y es definido como

Sri = q̇i − q̇ri (1.14)

Es importante mencionar que para preservar la propiedad de pasividad del sistema


en lazo cerrado, la señal de referencia debe ser diseñada a nivel de velocidad q̇ri tal
que Sri es usada como la salida de la desigualdad de pasividad donde la variable del
error Sri = [sr1 , sr2 , . . . , srl ]T para sri ∈ ℜn es definida para cada robot manipulador-i.

1.4. Variedades de error

Para el diseño de la señal de referencia usaremos el método de ortogonalización


del espacio articular [3], el cual nos permite descomponer q̇i , es decir, en el método
de ortogonalización las variables de fuerza se encuentran ubicadas en un espacio
normal al espacio tangente del punto de contacto λi ∈ span{JϕTi (qi )} mientras que
las variables de posición están ubicadas en un espacio tangente al punto de contacto.
Dadas las propiedades de ortogonalidad entre los espacios de posición y fuerza,
tenemos que

JϕTi (qi )q̇i = 0, Qi (qi )q̇i = q̇i Qi (qi )JϕTi (qi ) = 0 (1.15)

De esta manera q̇i puede ser escrita como la suma de un componente tangente y
otro normal, de la forma

q̇i = q̇i + (Jϕi + (qi )Jϕi (qi )q̇i − Jϕi + (qi )Jϕi (qi )q̇i )
= (In − Jϕi + (qi )Jϕi (qi ))q̇i +Jϕi + (qi ) Jϕi (qi )q̇i
| {z } | {z }
Qi ṗi

= Qi (qi )q̇i + Jϕi + (qi ) ṗi (1.16)

donde Jϕi + (qi ) es la pseudoinversa de Penrose y Qi (qi ) = In − Jϕi + (qi )Jϕi (qi ) es la
matriz de proyección. Esto nos indica que Qi (qi ) y Jϕi (qi ) son dos espacios ortogo-
nales tal que ℜni puede ser escrito como la suma dada entre rank(im(Qi )) = mi (=
ni − ri ) y rank(im(Jϕi )) = ri tal que mi + ri = ni . Es decir, surge una descomposición
natural de q̇i en el punto de contacto.
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 9

Basándonos en los espacios ortogonales de fuerza y posición y en la matriz


Qi (qi ), se propone una forma general para la señal de referencia nominal qri ∈ ℜn
para el robot manipulador-i

q̇ri =Qi (qi )Zg + Jϕi + (qi )( ṗdi − ξi ∆ pi )


 

 

 Z t 
−k f t
+βi Jϕi + (qi ) S fi − ρ S fi (t0 )e +ργ fi sign(Sv fi (ζ ))d ζ , (1.17)

 | {z } t0 

 S

d fi

donde Qi (qi ) ∈ ℜRnx(n−m) , Zg es la referencia nominal de posición, Jϕi + (qi ) ∈ ℜnx1 ,


S fi = ∆ Fi , ∆ Fi = tt0 (λi − λdi )(ζ )d ζ es la integral del error de fuerza que contribuye
a la robustes considerando el retraso en la medición de fuerza ası́ como al error
en estado estacionario de la fuerza5 , sign(∗) representa la función signo de (*), ξi ,
βi , γ fi son constantes positivas, ∆ ∗ = ∗ − ∗d denota el error seguimiento donde el
subı́ndice d indica la variable deseada, k f > 0 y ρ toma valores de 0 ó 1.
Sustituyendo (1.17) y (1.16) en (1.14) obtenemos

Sri = Q(qi )q̇i − q̇ri (1.18)


= Qi (qi )(q̇i − Zg )
½ µ Z t ¶¾
+ Jϕi + (qi ) ∆ ṗi + ξi ∆ pi − βi Sv fi + ργ fi sgn(Sv fi (ζ ))d ζ
t0

donde Sv fi = S fi − ρ Sd fi . De tal forma, el error residual dada por la ecuación (1.18)


puede ser escrito como
© ª
Sri = Qi (qi )Svxpi + Jϕi + (qi ) ∆ ṗi + ξi ∆ pi − βi Svx fi (1.19)

con

Svxpi =q̇i − Zg , (1.20)


Z t
Svx fi =Sv fi + ργ fi sgn(Sv fi (ζ ))d ζ (1.21)
t0

donde Svxpi y Svx fi son las variedades ortogonales extendidas de posición y fuerza,
respectivamente.
A partir de la forma general para la señal de referencia nominal qri para el robot
manipulador-i, a continuación se presentarán dos señales de referencia nominal de
posición tanto para el caso cartesiano como para el caso articular. Estas señales de
referencia involucrán un cambio de coordendas, el cual permite que el sistema en
lazo cerrado mantenga la propiedad de pasividad propia del sisietma en lazo abierto,

5Se asume que cada robot manipulador cuenta con un sensor de posición en cada eslabón ası́ como
un sensor de fuerza en su elemento terminal
10 R. Garcı́a-Rodrı́guez

además de incorporar información tanto de las variables de posición y fuerza para


dar lugar a las propiedades de convergencia en ambas variables.

1.4.1. Referencia nominal de posición articular

En la gran mayorı́a de aplicaciones la planificación de trayectorias de un sistema


cooperativo de manipuladores robóticos están definidas en el espacio cartesiano con
respecto a un marco de referencia inercial Σ0 .
Sin embargo, dado que el espacio de trabajo del robot manipulador está definido
en términos de las coordenadas generalizadas q y sus derivadas, se hace uso del
conocimiento tanto de la cinemática directa como inversa del robot para realizar
dicha tarea. De tal forma los torques de entrada al robot manipulador dependerán de
las coordenadas generalizadas q, de la forma

τ = f (q, q̇, qd , q̇d , q̈d ,YrΘ )

De acuerdo a las propiedades de ortogonalidad entre los espacios de posición y


fuerza, la referencia nominal de posición articular del robot manipulador-i puede
expresarse como
Z t
Zg = q̇di − αi ∆ qi + ρ Sd pi − ργ pi sgn(Sxi (ζ ))d ζ (1.22)
t0

donde γ pi , αi son constantes positivas. Sustituyendo (1.22) en el primer término de


la derecha de (1.18) tenemos
 
Z t
 
Qi (qi )(q̇i − Zg ) = Qi (qi ) ∆ q̇i + αi ∆ qi −ρ Sd pi + ργ pi sign(Sxi (ζ ))d ζ 
| {z } t0
S pi

= Q(qi )Svxpi

donde Sxi = S pi − ρ Sd pi y Sd pi = S pi (t0 )exp−k p t con k p > 0, S pi (t0 ) es el valor de


S pi (t) en t = t0 y Svpxi es la variedad ortogonal extendida de la posición articular.
Sin embargo, en ocasiones la cinemática inversa no está bien definida o resul-
ta difı́cil de conocer. Para resolver este problema se ha utilizado la traspuesta del
jacobiano, en donde los errores cartesianos son mapeados dentro de los errores arti-
culares. Bajo este esquema no se requiere mapear la dinámica del robot ası́ como la
cinemática inversa no es requerida. Sin embargo, se necesita un conocimiento exac-
to del jacobiano y de YrxΘ . La estructura de control para este enfoque está definida
de la forma
τ = f (q, q̇, Xd , Ẋd ,YrxΘ , J T (q)), (1.23)
donde Yrx es el regresor mapeado dentro del espacio cartesiano.
En este capı́tulo utilizaremos un control de la forma
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 11

τ = f (q, q̇, Xd , Ẋd ,YrΘ , J −1 (q)) (1.24)

el cual no depende del conocimiento de la dinámica del robot ni de la cinemática


inversa, es decir, el sistema será parametrizado explı́citamente en términos de los
errores cartesianos, como se muestra a continuación.

1.4.2. Referencia nominal de posición cartesiana

El mapeo dado por la cinemática directa para un sistema cooperativo compuesto


por l-manipuladores robóticos de n grados de libertad está dado como

Xi = fi (qi ) (1.25)

donde fi (qi ) pertenece a los mapeos de ℜn a ℜn . Notemos ahora que la cinemática


diferencial establece un mapeo de velocidades de la forma

Ẋi = Ji (qi )q̇i (1.26)

donde Ji (qi ) ∈ ℜnxm es la matriz jacobiana del robot manipulador-i. Dado que el
rank(Ji (qi )) = n tenemos que

q̇i = Ji−1 (qi )Ẋi (1.27)

Similar a (1.27) y aplicando las propiedades de ortogonalidad entre los espacios de


fuerza y posición tenemos que la referencia nominal de posición q̇ri puede diseñarse
de la forma
q̇ri = Qi (qi )q̇ri = Qi (qi ) Ji−1 (qi )Ẋri (1.28)
| {z }
Zg

donde Ẋri la denominaremos referencia nominal de posición cartesiana del robot


manipulador-i y viene definida como
Z t
Ẋri = ẋdi − αi ∆ xi + ρ Sd pi − ργ pi sign(Sxi (ζ ))d ζ (1.29)
t0

donde ∆ xi = xi − xdi y αi , γ pi son constantes positivas.


Sustituyendo (1.28) en el primer término de la derecha de (1.18) obtenemos
 
Z t
 
Q(qi )Ji−1 ∆ ẋi + αi ∆ xi −ρ Sd pi + ργ pi sign(Sxi (ζ ))d ζ  (1.30)
| {z } t0
S pi

=Q(qi )Ji−1 Svxpi

donde
12 R. Garcı́a-Rodrı́guez

Sxi = S pi − ρ Sd pi , (1.31)
−k p (t−t0 )
Sd pi = S pi (t0 )exp . (1.32)

con k p > 0 y Svpxi es la variedad ortogonal extendida de la posición cartesiana.


Nota 1. Este esquema cartesiano nos permitirá eliminar el cálculo de la cine-
mática inversa, lo cual a su vez reduce no solamente el costo computacional de
cálculo del controlador en cada iteración sino que elimina cualquier posible error
en el cálculo de la cinemática inversa. Por último es importante notar que haciendo
ρ = 0 obtenemos la señal de referencia tanto de posición como de fuerza, definida
en la mayorı́a de la literatuta [19], [24], [23], [25], [26], [30]. A lo largo de este
capı́tulo asumiremos que ρ = 1.
Nota 2. Jacobiano Inverso bien definido. Notemos que las trayectorias de-
seadas cartesianas son diseñadas bajo la condición de que pertenecen al espacio de
trabajo libre de singularidades de cada robot manipulador. De tal forma, las trayec-
torias deseadas articulares qdi = f −1 (Xdi )(t) están dadas a través de Ji−1 (qdi )(t).
Puesto que xi (t) converge a xdi (t) exponencialmente (monótonamente decreciente)
entonces qi (t) → qdi (t) dentro de un espacio de trabajo alcánzable por el robot
manipulador-i libre de configuraciones singulares. Por lo tanto Ji−1 (qi )(t) existe para
todo tiempo y está bien definido en Ji−1 (qi )(t0 ) .

1.5. Diseño del controlador

Una de las ventajas de utilizar el método de ortogonalización es que permite


desacoplar la ley de control en dos partes, una para la posición y otra para fuerza.
Sin embargo debe recordarse que la fuerza aplicada a los robots manipuladores es
resultado del movimiento del manipulador-i de tal forma no pueden considerarse
como problemas independientes. Además de que la ausencia de la posición o fuerza
causarı́a la perdida de la pasividad del sistema en lazo cerrado.
En esta sección diseñaremos un controlador cartesiano de fuerza y posición
basándose en la señal de referencia propuesta en (1.18) y (1.28) respectivamente.
Consideramos una ley de control de la forma

τi = −Kdi Sri + JϕTi + (qi )[−λdi + ηi ∆ Fi ] (1.33)


· Z t ¸
+ γ f i Jϕi + (qi ) tanh(µi Sv fi ) + ηi sgn(Sv fi (ζ ))d ζ
T
t0

con µi > 0 ηi > 0, Kdi = Kdi T ∈ ℜnxn es una matriz diagonal simétrica definida posi-

tiva y λdi es la fuerza de contacto deseada para el robot manipulador-i.


Sustituyendo (1.33) en (1.13) obtenemos la ecuación en lazo cerrado

Hi (qi )Ṡri = −[Kdi +Ci (qi , q̇i )]Sri −YriΘi + JϕTi + [Ṡv fi + ηi Sv fi ] (1.34)
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 13

A continuación estableceremos las propiedades de estabilidad del sistema en lazo


cerrado.
Teorema. Estabilidad Exponencial. Asuma que las condiciones iniciales y las
trayectorias de cada robot manipulador-i de un sistema cooperativo pertenecen a Ω .
Si Kdi βi , ηi son lo suficientemente grandes y los errores iniciales suficientemente
pequeños entonces la ecuación de lazo cerrado garantiza una convergencia expo-
nencial de los errores de fuerza y posición, asegurándose un regimen deslizante
para todo tiempo en fuerza y posición bajo un esfuerzo de control suave.
Prueba. La prueba está dividida en tres partes, en la primera parte se muestra el
acotamiento de las señales en lazo cerrado del sistema cooperativo. La convergencia
exponencial para los errores de seguimiento de posición y fuerza se muestran en la
segunda y tercera parte, respectivamente.
Parte 1. Acotamiento de trayectorias en lazo cerrado
Considerando la derivada de la siguiente función candidata de Lyapunov

1 l ¡ T ¢
V= ∑
2 i=1
Sri Hi (qi )Sri + βi SvTfi Sv fi ,

a lo largo de las trayectorias (1.34), tenemos


l ¡ ¢
V̇ = ∑ −SrTi Kdi Sri − βi ηi SvTfi Sv fi − SrTi YriΘi
i=1
l ¡ ¢
≤ ∑ −Kdi kSri k22 − βi ηi kSv fi k22 + kSrTi kkτdi k , (1.35)
i=1

debido al acotamiento de las ganancias de retroalimentación, de la dinámica de ca-


da robot y la suavidad de ϕi (x) existe un acotamiento de Qi , Jϕi , esto implica que
kSrTi kkτdi k ≤ δ1 kSri k es decir, δ1 es una funcional dependiente del estado que acota
todas las incertidumbres presentes en el modelo. Por lo mencionado anteriormente
(1.35) es definida como
l ¡ ¢
V̇ ≤ ∑ −Kdi kSri k22 − βi ηi kSv fi k22 + kSri kδ1 . (1.36)
i=1

Si Kdi , βi , ηi son suficientemente grandes y los errores iniciales son los suficiente-
mente pequeños, Sri es estable y convergerá en una vecindad del equilibrio trivial de
tal forma
Sri , Sv fi ∈ L∞ (1.37)
Puesto que las trayectorias deseadas son C2 y las ganancias de retroalimentación
son acotadas, tenemos que (q̇ri , q̈r ) ∈ L∞ , lo cual implica que Yri ∈ L∞ . De esta
forma, kSri kδ1 ≤ ε1 con ε1 > 0 es acotado. Dado que la inversa de la matriz de
inercia, la matriz de Coriolis son acotadas y el vector de pares gravitacionales es
acotado tenemos que existe un ε2 > 0 tal que
14 R. Garcı́a-Rodrı́guez

kṠri k < ε2 . (1.38)

De esta forma concluimos el acotamiento de todas las señales del error en lazo
cerrado y una estabilidad local de Sri y Ṡri .
Parte 2. Convergencia exponencial para los errores de seguimiento de posición
cartesianos
Multiplicando (1.19) por QT y sustituyendo (1.30) tenemos
Z t
Sxi = (QTi (qi )Qi (qi ))−1 Ji QTi (qi )Sri − γ pi sgn(Sxi (ζ ))d ζ (1.39)
t0

donde QTi (qi )Qi (qi ) ∈ R(n−m)×(n−m) tiene columna de rango completo rank(n − m).
Si multiplicamos la derivadas de (1.39) por SxTi obtenemos

d³ T ´
SxTi Ṡxi = −γ pi |Sxi | + SxTi (Qi (qi )Qi (qi ))−1 Ji QTi (qi )Sri
dt¯
¯d³ T ´¯¯
¯
≤ −γ pi |Sxi | + |Sxi | ¯ (Qi (qi )Qi (qi )) Ji Qi (qi )Sri ¯¯
−1 T
dt
≤ −γ pi |Sxi | + |Sxi |ε3
≤ −µ1 |Sxi | (1.40)

donde µ1 = γ pi − ε3 con γ pi > ε3 . Note que (1.40) es precisamente la condición


para la existencia de un modo deslizante en Sxi = 0 en un tiempo t p ≤ |Sxi |/µ1 . Por
otro lado observe que de acuerdo a la definición de Sxi tenemos que para cualquier
condición inicial Sxi (t0 ) = 0 donde t p = 0, de tal forma existe un modo deslizante
Sxi = 0 para todo tiempo, es decir

S pi = Sd pi → ∆ Ẋ = −α∆ X + S pi (t0 )e−k p (t−t0 ) (1.41)

donde para una k p elegida suficientemente grande, tenemos que Sd pi ≈ 0 para algún
tiempo pequeño 0 < td ¿ 1 tal que S pi = 0 ∀ t≥ td > 0.
Es importante notar que a pesar de la incertidumbre en los parámetros, la con-
vergencia de los errores de posición no depende de algún parámetro de la dinámica
del robot.
Por consiguiente los errores de seguimiento cartesianos tienen una solución ex-
ponencial hacia la trayectoria deseada, es decir, se establece la convergencia

xi → xdi (1.42)
ẋi → ẋdi . (1.43)

Debido a la ortogonalidad entre Svxpi y Svx fi y Jϕi Jϕi + = I, entonces el hecho de


que Sxi = 0 implica que lı́mt→∞ ∆ ṗi = 0, lı́mt→∞ ∆ ṗi = 0.
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 15

Control R11 Control R21


15 0

10 −5
[Nm]

[Nm]
5 −10

0 −15
0 2 4 6 0 2 4 6
t [s] t [s]
Control R12 Control R22
10 −2

8 −4
[Nm]

[Nm]
6 −6

4 −8

2 −10
0 2 4 6 0 2 4 6
t [s] t [s]

Figura 1.2 Control aplicado a cada eslabón.

Parte 3. Convergencia exponencial para los errores del seguimiento de fuerza


Multiplicando (1.19) por Jϕ y sustituyendo (1.21) tenemos

Svx fi = Jϕi Sri


Z t
Sv f i = Jϕi Sri − γ fi sgn(Sv fi (ζ ))d ζ (1.44)
t0

Si multiplicamos la derivada de (1.44) por SvTfi obtenemos

d
SvTf i Ṡv f i = −γ fi |Sv f i | + SvTf i (Jϕ Sr )
dt¯ i i ¯
¯d ¯
≤ −γ fi |Sv f i | + |Sv f i | ¯¯ (Jϕi Sri )¯¯ (1.45)
dt
≤ −γ fi |Sv f i | + |Sv f i |ε4 (1.46)
≤ −µ2 |Sv f i | (1.47)

donde µ2 = γ fi − ε4 con γ fi > ε4 para establecer formalmente la condición para la


existencia de un regimen deslizante en Sv f i = 0 en un tiempo t f ≤ |Sv f i |/µ2 . Además
si Sv f i (t0 ) = 0 significa que existe un modo deslizante para todo tiempo.
16 R. Garcı́a-Rodrı́guez

Fuerza de contacto−R1 Fuerza de contacto−R2


16 16

14 14

12 12

[Nm]

[Nm]
10 10

8 8

6 6

4 4
0 1 2 3 4 0 1 2 3 4
t [s] t [s]

Error Fuerza−R1 Error Fuerza−R2


0.5 0.5

0 0
[Nm]

−0.5 [Nm] −0.5

−1 −1
0 1 2 3 4 0 1 2 3 4
t [s] t [s]

Figura 1.3 Fuerza real y fuerza deseada (arriba), Error de fuerza (abajo) .

Por lo mencionado anteriormente y de acuerdo a la teorı́a de sistemas de estruc-


tura variable (VSS) tenemos que si S = Sv f i = 0 ∀t entonces Ṡv f i = 0, tal que la
convergencia del error de seguimiento de fuerza viene dada como

Ṡv f i = Ṡ fi + Ṡd fi = 0 (1.48)


−k f t
∆ λ + k f S fi (t0 )e =0 (1.49)
∆ λ = −k fi S fi (t0 )e−k f t (1.50)

donde para una k f suficientemente grande Sv f i (t0 ) → 0 tal que ∆ λ → 0.¥


Nota 3. Propiedades del Controlador
Se ha sintetizado un nuevo controlador cartesiano que a diferencia de los repor-
tados en la literatura no se necesita la dinámica cartesiana del manipulador, solo
el uso del jacobiano inverso.
El controlador produce un sistema dinámico invariante, puesto que el sistema en
lazo cerrado produce una ecuación no lineal independiente de la dinámica de ca-
da robot, representada por las ecuaciones invariantes de los modos deslizantes en
Sxi y Sv f i . Es importante mencionar que estos modos deslizantes son ortogonales
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 17

−3 −3
x 10 Error Cartesiano R11 x 10 Error Cartesiano R21
2 6

0 4

[m]

[m]
−2 2

−4 0

−6 −2
0 2 4 6 0 2 4 6
t [s] t [s]
−3 −3
x 10 Error Cartesiano R12 x 10 Error Cartesiano R22
8 2

6 0
[m]

[m]
4 −2

2 −4

0 −6
0 2 4 6 0 2 4 6
t [s] t [s]

Figura 1.4 Errores Cartesianos (∆ x, ∆ y).

lo que nos permite obtener un control descentralizado para el control de posición


y fuerza del robot manipulador-i.
Un rápido seguimiento de las trayectorias de fuerza y posición es garantizada,
con un control suave y continuo.
Note que un sistema de estructura variable (VSS) en lazo cerrado es inducido
por el término sgn(∗) para cada uno de los espacios ortogonales de posición y
fuerza, tal que una convergencia exponencial de los errores de seguimiento es
garantizada. La discontinuidad asociada a sgn(∗) es relegada a la derivada de cada
una de las variedades ortogonales extendidas de posición y fuerza. De acuerdo a
lo anterior, la posibilidad de castañeo es eliminada.
Dado que YriΘi no se elimina o compensa en la ley de control propuesta, el
estado del sistema estará lejos de la variedad que contiene las soluciones. Es-
ta desviación de la variedad puede considerarse como los efectos de perturba-
ciones por fuerzas no compensadas. Para tal efecto el término integral introduce
correcciones de los errores de las trayectorias con respecto a las variedades de
fuerza y posición.
Es importante notar que un procedimiento similar puede considerarse en el
diseño de un controlador basado en la referencia nominal de posición articular.
18 R. Garcı́a-Rodrı́guez

Xd VS X−R11 X Vs X−R21
d
0.51 0.505

0.505 0.5
[m]

[m]
0.5 0.495

0.495 0.49
0 2 4 6 0 2 4 6
t [s] t [s]
Yd VS Y−R12 Yd VS Y−R22
0.53 0.53

0.52
0.52
[m]

[m]
0.51
0.51
0.5

0.49 0.5
0 2 4 6 0 2 4 6
t [s] t [s]

Figura 1.5 Seguimiento de Trayectoria.

1.6. Resultados de simulación

A continuación se presentan los resultados de simulación numérica para dos


robots manipuladores planares de 2 grados de libertad cada uno, manipulando un
objeto regular rı́gido. La tarea deseada consiste en simular el traslado del objeto de
un punto inicial a un punto final, siguiendo una trayectoria deseada en el espacio
cartesiano y definida como Xd = 0.5 mt, Yd = 0.5 − 0.3sen(0.01t) mt aplicando una
fuerza deseada de λdi (t) = 10 + 5sin(5t)N.
Las simulaciones se realizaron en Matlabr 6.5 con un periodo de muestreo de
1ms. Además suponemos que existe un error sobre las condiciones iniciales con
respecto a las trayectorias deseadas, donde los robots manipuladores siempre man-
tendrán contacto con el objeto en t = t0 s.
Los parámetros para ambos robots son: m1i = 8.0Kg, m2i = 5.0Kg, l1i = 0.5m,
l2i = 0.35m, lc1i = 0.19m, lc2i = 0.12m, I1i = 0.02Kgm2 , I2i = 0.016Kgm2 donde
i = 1, 2. El error cartesiano inicial para cada unos de los robots está definido como
S p1 = [0.0; −0.0030] y S p2 = [−0.0290; 0.0258].
En la Figura 1.2 se muestra el desempeño del control, la cual muestra un esfuerzo
de control suave y libre de castañeo. En la Figura 1.3 se presenta la fuerza de con-
tacto en la cual observamos un pequeño sobre impulso al inicio del seguimiento, sin
embargo, después de un tiempo muy breve del orden de milisegundos, la trayecto-
1. Control Descentralizado de Manipuladores Robóticos Cooperativos 19

ria converge exponencialmente a la trayectoria deseada. Los errores cartesianos de


seguimiento se muestran en la Figura 1.4 donde puede verificarse una convergencia
exponencial a las trayectorias cartesianas deseadas. Del mismo modo en la Figura
1.5 se observa el seguimiento del elemento terminal con la trayectoria cartesiana
deseada como lo indica el teorema. En las simulaciones denotamos con Ri j donde
i = 1, 2 y j = 1, 2 corresponden al número de robot manipulador y número de articu-
lación del robot-i, respectivamente. Las ganancias del controlador utilizadas son las
siguientes Kdi = diag(20), αi = 5.8, βi = 5, ηi = 0.29, α pi = 0.005, α f i = 0.001,
ξi = 10, k pi = 20 y k pi = 20. Es importante notar que estas ganancias son las mismas
para ambos robots.

1.7. Conclusiones

Un esquema de control descentralizado y libre de modelo para un sistema de


manipuladores robóticos cooperativos es propuesto, es decir, no se necesita ningún
conocimiento acerca de la dinámica de cada robot manipulador y del objeto, respec-
tivamente. Para el diseño del controlador se presentó una forma general de la refe-
rencia nominal articular y cartesiana; la cual incluye las definidas principalmente en
la literatura. Debido al desacoplamiento de las variables restringidas, este esquema
nos permite una rápida convergencia de los errores de seguimiento de posición y
fuerza. Además puede asegurarse un control suave libre de castañeo y robusto ante
dinámicas no modeladas debido al uso de un modo deslizante de segundo orden.
Simulaciones numéricas son presentadas para validar el desempeño del controlador
en la manipulación de un objeto restringido.

Referencias

1. Alford C. O., Belyeau S. M., Coordinated Control of two Robot Arms. IEEE Int. Conf. on
Robotics, 468-473, 1984.
2. Arimoto S., Miyazaki F., Kawamura S., Cooperative Motion Control of Multiple Robot Arms
or Fingers. IEEE Int. Conf, on Robotics and Automation, 4, 1407-1412, 1987.
3. Arimoto S., Theory of Nonlinear Mechanical Systems- A Passivity Based Approach and Cir-
cuit Theoretic Approach. Oxford Clarendon Press, 1996.
4. Bonitz R.G., Hsia T.C., Internal force-based impedance control for cooperating manipulators,
IEEE Trans. on Robotics and Automat. 12(1), 78-89, 1996.
5. Buss M., Hashimoto H. , Moore, J.B., Dextrous Hand Grasping Force Optimization. IEEE
Trans. on Robotics and Automat, 12(3), 406-418, 1996.
6. Chiu C.-S., Lian K.-Y., Wu, T.-C., Robust Adaptive Motion/Force Tracking Control Design
for Uncertain Constrained Robot Manipulators. Automatica, 40(12), 2111-21, 2004
7. Damaren, C. J., An Adaptive Controller for Two Cooperating Flexible Manipulators. Journal
of Robotic Systems, 20(1), 15-21, 2003.
8. Deshpande A., Luntz J., Decentralized Control for a Team of Physically Cooperating Robots.
Int. Conf. on Intelligent Robots and Systems, 2, 1757-1762, 2003.
20 R. Garcı́a-Rodrı́guez

9. Fujii, S., Kurono, S. (1975). Coordinated Computer Control of a Pair of Manipulators. Pro-
ceedings of the Fourth World Congress of the International Federation for Theory of Machines
and Mechanisms, 411-417, 1975.
10. Huang, H. P., Chen, R. S., Modeling and Adaptive Coordination Control of Two-robot System.
Journal of Robotic Systems, 9(1), 65-92, 1992.
11. Hu,Y. R., Goldenberg A. A., An Adaptive Approach to Motion and Force Control of Multiple
Coordinated Robot Arms. IEEE Int. Conf. on Robotics and Automation, 2, 1091-1096, 1989.
12. Kawasaki H., T. Shimizu, S. Ito, Adaptive Coordinated Control of Multiple Robot Arms. Proc.
of the 6th IFAC Symposium on Robot Control, 261-266, 2000.
13. Kawasaki H., S. Ito, Rizaudddin B. R., Adaptive Coordinated Control of Multiple Robot Arms.
Proc. of the 6th IFAC Symposium on Robot Control, 261-266, 2000.
14. Kosuge K., Koga M., Furuta K., Nosaki K., Coordinated Motion Control of Robot Arm Based
on Virtual Internal Model. Proc IEEE Int. Conf. on Robotics and Automation, 1097-1102,
1989.
15. Kwon W, Lee BH. New Optimal Force Distribution Scheme of Multiple Cooperating Robots
using Dual Method. Journal of Intelligent Robotic Systems: Theory Appl., 21(4), 301-326,
1998.
16. Lasky, T.A., Hsia T.C., On Force-Tracking Impedance Control of Robot Manipulators. IEEE
Int. Conf. on Robotics and Automation, 274-280, 1991.
17. Morel G., Bidaud P., A Reactive External Force Loop Approach to Control Manipulators in
the Presence of Environmental Disturbances. IEEE Int. Conf. on Robotics and Automation,
1229-1234, 1996.
18. Lewis F.L., Abdallah C.T., Dawson D. M., Control of Robot Manipulators. New York Macmil-
lan, 1993.
19. Liu Y.H., Arimoto S., Parra-Vega V., Kitagaki S., Decentralized Adaptive Control Of Multiple
Manipulators in Cooperations. International Journal of Control, 67(5), 649-673, 1997.
20. Liu Y.H., Arimoto S., Distributively Controlling two Robots Handling an Object in the Task
Space without any Communication. IEEE Trans. on Automatic Control, 41(8), 1193-1198,
1996.
21. Liu Y.H., Arimoto S., Kitagaki S., Parra-Vega V., Model-based Adaptive and Distributed Con-
troller for Holonomic Cooperations of Multiple Manipulators. Int. Journal of Control, 67(5),
649-673, 1997.
22. Liu J-F, Abdel-Malek K., Robust Control of Planar Dual-arm Cooperative Manipulators.
Robotics and Computer Integrated Manufacturing, 16, 109-119, 2000.
23. Parra-Vega V., Rodrı́guez A., Aromoto S., Hirzinger G., High Precision Constrained Grasping
with Cooperative Adaptive Handcontrol. Journal of Intelligent and Robotic Systems 32(39),
235-254, 2001.
24. Rodrı́guez A., Control de Multi-Robots Manipuladores. Tesis de Maestrı́a, Cinvestav, 1997.
25. Woon L.C., Ge S.S., Chen X.Q., Zhang C. Adaptive Neural Network Control of Coordinated
Manipulators. Journal of Robotics Systems, 16(4), 195-211, 1999.
26. Ge S.S., Huang L.,Lee T.H., Model-based and Neural-network-based Adaptive Control of Two
Robotic Arms Manipulating an Object with Relative Motion. International Journal of Systems
Science, 32(1), 9-23, 2001.
27. Scewczyk J., Plumet F., Bidauf P., Planing and Controlling Cooperating Robots through Dis-
tributed Impedance. Journal of Robotics Systems, 19(6), 283-297, 2002.
28. Sun, D., Mills, J. K., Adaptive Synchronized Sontrol for Coordination of Multirobot Assembly
Tasks. IEEE Trans. on Robotics and Automation, 18(4), 498-510, 2002.
29. Tarn T.J., Bejczy, A.K., Yun, X., Design of Dynamic Control of Two Cooperating Robot Arms:
Closed Chain Formulation. IEEE Int. Conf. on Robotics and Automation pp. 7-13, 1987.
30. Yao B., M. Tomizuka, Adaptive Coordinated Control of Multiple Manipulators Handling a
Constrained Object. IEEE Int. Conf. on Robotics and Automation, 624-629, 1993
31. Zuo B.R., Qian W.H., On the Equivalence of Internal and Interaction Forces in Multifingered
Grasping. IEEE Trans. on Robotics and Automat, 15(5), 934-940, 1999.
Capı́tulo 2
Diseño de Estrategias de Control Basadas en
Pasividad para Sistemas Euler-Lagrange
Aplicado en Robots Manipuladores

J. P. Ordaz-Oliver, O. A. Domı́nguez-Ramı́rez, V. Parra-Vega y A. Jarillo-Silva

Resumen Un robot manipulador cumple con las propiedades de un sistema Euler-


Lagrange, en consecuencia es posible la aplicación de técnicas basadas en pasividad
y análisis de energı́a. El adecuado desempeño de un robot manipulador involucra
considerar: precisión, estabilidad, evasión de colisión, rendimiento, ahorro ener-
gético, libertad de operación, ası́ como de esfuerzos eléctricos y mecánicos que po-
drı́an repercutir en la vida útil y en la eficiencia operativa. Mucho de ello depende del
adecuado diseño de una estrategia de control de movimiento en una acción de regu-
lación o seguimiento de una trayectoria en su espacio operacional. En este capı́tulo
de libro se presenta la técnica de diseño de estrategias de control de movimiento libre
basadas en pasividad y aplicado a sistemas de Euler-Lagrange, particularmente en
robots manipuladores. Para comprender el desarrollo de la propuesta se presenta una
sección dedicada a preliminares matemáticos empleados, se describen de manera
explı́cita aspectos relevantes de la formulación de Euler-Lagrange y las propiedades
correspondientes, se presenta una sección relativa a la descripción de la plataforma
experimental, tecnologı́a y modelos matemáticos, ası́ como el diseño y resultado

J. P. Ordaz-Oliver
Universidad Politécnica de Pachuca
Ex Hacienda Sta. Bárbara,
Municipio de Zempoala, Hgo., México, (Tel: +52 771-5477510)
e-mail: patricio@upp.edu.mx
O. A. Domı́nguez-Ramı́rez, A. Jarillo-Silva
Universidad Autónoma del Estado de Hidalgo. Instituto de Ciencias Básicas e Ingenierı́a.
Centro de Investigación en Tecnologı́as de Información y Sistemas
Carr. Pachuca-Tulancingo, Km. 4.5, México, (Tel: +52 771-7172000 ext. 6734)
e-mail: omar@uaeh.edu.mx, jarillo@uaeh.edu.mx
V. Parra-Vega
Centro de Investigación y Estudios Avanzados.
Grupo de Robótica y Manufactura Avanzada-Cinvestav Saltillo.
Carretera Saltillo-Monterrey Km 13.5, C.P. 25000, Ramos Arizpe, Coahuila, México, (Tel y Fax
+52 844-4390305)
e-mail: vparra@cinvestav.edu.mx

21
22 J. P. Ordaz-Oliver et al.

experimental de controles basados en pasividad del tipo de retroalimentación de es-


tados, estructura variable, adaptación y sub-optimización. Para cada caso de estudio,
se presenta un bosquejo de la prueba de estabilidad en el sentido de Lyapunov.
2. Control Basado en Pasividad 23

Lista de sı́mbolos matemáticos

En este capı́tulo se ocuparán los siguientes sı́mbolos matemáticos.


R Espacio de los reales.
Rn Espacio lineal de vectores de dimensión n.
Rn×m Matriz con n filas y m columnas y elementos de R.
R+ Campo de los reales positivos.
→ Mapeo del dominio sobre el rango. También Tiende a.
x Variable de estados del sistema x ∈ R2n .
xd Variable de estado deseada xd ∈ R2n
x̃ Función de error correspondiente a las variable de
estados del sistema x̃ = x − xd ∈ R2n .
kxk Norma Euclidiana de x ∈ Rn .
kAk Con A ∈ Rn×m : Se induce la norma 2.
|a| Valor absoluto del escalar a.
∀ Para todo.
∃ Existe.
∈ Perteneciente a.
⇒ Implica.
⇔ Equivalente a, o sı́ y solo sı́.
⊂ Conjunto.
⊆ Subconjunto.
q Vector de posiciones generalizadas. ³ ´
dq
q̇ Vector de velocidades generalizadas .
³dt ´
d2q
q̈ Vector de aceleraciones generalizadas .
dt 2
q̃ Vector de error de posición articular, donde q̃ = q − qd , con qd como
posición articular deseada.
q̃˙ Vector de error de velocidad articular, donde q̃˙ = q̇ − q̇d , con q̇d como
velocidad articular deseada.
q̃¨ Vector de error de aceleración articular, donde q̃¨ = q̈ − q̈d , con q̈d como
aceleración articular deseada.
S Error extendido, con S = q̃˙ + α q̃, y α ∈ Rn×n una matriz
de ganancias simétrica y definida positiva.
u Vector de entradas de control generalizadas.
(·)−1 Operador de función inversa.
K (q̇, q) Energı́a cinética.
U (q) Energı́a potencial.
L (q̇, q) Lagrangiano.
D(q) Matriz de fuerzas de inercia.
C(q, q̇) Matriz de fuerzas de Coriolis y de fuerzas centrı́fugas.
G(q) Vector de fuerzas gravitacionales.
τ Vector de pares.
24 J. P. Ordaz-Oliver et al.

E (q̇, q) Energı́a total o Hamiltoniano de un sistema.


V (x) Función de Lyapunov. ³ ´
V̇ (x) Derivada de la función de Lyapunov dVdt(x) .
f (x) Campo vectorial que indica las dinámicas de un sistema.
g(x) Matriz de dinámica de las fuerzas de entrada.
x Campo vectorial que representa los estados de un sistema.
h(x) Campo vector de salidas del sistema.
D − {0} Dominio sin incluir el cero.
t Tiempo, t ∈ R+ .
In Matriz identidad de dimensión n.
d
(·) = ˙ Derivada temporal.
(·)
dt
n El conjunto de elementos enteros [1, 2, ..., n].
(·)T Transpuesta de una matriz.
J Jacobiano de una función.
λM K Máximo valor propio de la matriz K, K ∈ Rn×n .
λm K Mı́nimo valor propio de la matriz K, K ∈ Rn×n .

Lista de acrónimos

nGDL n grados de libertad.


EL Euler-Lagrange.
PHANToM Personal HAptic iNTerface Mechanism.
GHOST General Haptic Open Software Toolkit.
SDK Software Devolopment Kit.
PD controlador Proporcional Derivativo.
PI controlador Proporcional Integral.
PID controlador Integral Proporcional Derivativo.
PD+ controlador Proporcional Derivativo Plus.
PD+G controlador Proporcional Derivativo con
pre-compensación de energı́a potencial.

Lista de locuciones latinas

i.e id est, esto es.


e.g. exempli gratia, por ejemplo.
2.1. Introducción

Diversos sistemas dinámicos son controlados por técnicas relativamente senci-


llas o controladores lineales (como el controlador PD, PI, y PID), sin embargo co-
mo estas técnicas son desarrolladas para sistemas lineales no compensan de forma
eficiente las dinámicas no lineales, por mencionar a sistemas electromecánicos y sis-
temas de potencia que presentan influencias de fuerzas de inercia, energı́a potencial,
fuerzas centrı́petas y de Coriolis, fuerzas de fricción, entre otras.
Los robots actuales son obras de ingenierı́a y como tales concebidas para pro-
ducir bienes y servicios o explorar recursos naturales. Los robots industriales nacen
de la convergencia de tecnologı́as de control automático, en particular del conoci-
miento de máquinas y herramientas, en cualquier caso nos interesa recordar que
el término robot nace asociado de la idea de trabajo y producción, el desarrollo es
producto directo de la aplicación de computadoras en tiempo real.
En sentido estricto, el uso de técnicas de control lineal es válido solamente cuan-
do el sistema que se está estudiando puede modelarse matemáticamente mediante
ecuaciones diferenciales lineales. Para el caso de control de manipuladores, dichos
métodos lineales deben verse como métodos aproximados ya que, la dinámica de
un manipulador se presenta más adecuadamente mediante un sistema de ecuaciones
diferenciales no lineales. Sin embargo, a menudo es razonable hacer dichas aproxi-
maciones, y también es el caso de que estos métodos lineales son los que se utilizan
más frecuentemente en la práctica industrial.
Cuando en las dinámicas se presentan términos no lineales, puede utilizarse la
linealización local para derivar modelos lineales que son aproximaciones de las
ecuaciones no lineales en ubicación adyacente a un punto de operación. Desafor-
tunadamente el problema de control de manipuladores no se adapta bien a este
método, ya que los manipuladores se mueven constantemente a lo largo de regiones
de su espacio de trabajo tan ampliamente separadas que no puede encontrarse una
linealización valida para todas las regiones.
Los robots pueden clasificarse de acuerdo a los movimientos que desarrolla para
cumplir con una tarea. La primera es en la que un robot desempeña un trabajo sin
necesidad de una interacción más especializada, en otras palabras es llevar a un
manipulador de una coordenada espacial en su espacio de trabajo a otra, Figura 2.1,
lo cual es mejor conocido en teorı́a de control como regulación ya que se desea
llevar las ecuaciones de error del sistema a cero, i.e. x̃ = 0, donde x̃ es la ecuación
de error x̃ = x − xd , x son los estados del sistema y xd es una posición deseada del
sistema. La regulación sucesiva de coordenadas espaciales constituye una tarea de
movimiento coordinado tı́picamente empleada en procesos de manufactura flexible
robotizada.
La segunda clasificación corresponde al seguimiento de una trayectoria general-
mente basada an ecuaciones paramétricas para ciertas aplicaciones especializadas,
de la misma manera, donde se pretende llevar el el error temporal a cero, i.e.
lı́m x̃(t) = lı́m (x(t) − xd (t)) → 0, Figura 2.2.
t→∞ t→∞
26 J. P. Ordaz-Oliver et al.

Figura 2.1 Control de movimiento de un robot manipulador, (regulación).

Figura 2.2 Control de un robot manipulador, (seguimiento de trayectorias).


2. Control Basado en Pasividad 27

Por último, la tercera clasificación es en la que el robot interactúa con su medio,


es decir cuando el manipulador aplica fuerza sobre una estructura, Figura 2.3, como
barrenado, soldadura, entre otros (en el presente capı́tulo solo se trabajan las dos
primeras). La técnica de control para posición y fuerza simultánea corresponde a
un control hı́brido en el que la fuerza y posición pueden constituir una tarea de
regulación o seguimiento.

Figura 2.3 Interacción de un robot manipulador con un medio, (Barrenado).

En el caso de regulación punto a punto de un robot manipulador, no es nece-


sario el conocimiento del modelo dinámico de sistema, esto se debe a que un sim-
ple controlador PID reduce el error en estado estacionario [5], haciendo que este
sea asintótico con cero, en el caso que se conocen las dinámicas de la energı́a po-
tencial, la introducción de un controlador compensado con esta dinámica (PD+G)
hace el trabajo del PID [10]. Sin embargo es necesario del conocimiento del mo-
delo dinámico para el caso en que el manipulador sigue una trayectoria [21], ya
que los controladores tratan de compensar las dinámicas del mismo para un buen
desempeño en seguimiento y ası́ tener un error asintótico con cero respecto a la
trayectoria propuesta.
Como en el análisis dinámico de los sistemas EL no son considerados los efec-
tos tribológicos (lo cual es un efecto inherente de los sistemas mecánicos como
los robots manipuladores), actualmente existen técnicas de control más complejas
las cuales disminuyen de manera considerable la influencia de estos fenómenos,
por mencionar algunas, el control par-calculado más modos deslizantes de segun-
do orden es una estrategia muy eficiente en el seguimiento de trayectorias [13, 14]
compensado o inyectando fricción dinámica. Sin embargo en ocasiones no se tienen
conocimiento de todos o algunos de los parámetros, o estos cambian (como la masa
28 J. P. Ordaz-Oliver et al.

o longitud de los eslabones, entonces también cambia el centro de gravedad) lo cual


implica que el controlador debe ajustarse a este cambio [1, 11, 16].
Una gran ventaja que se tiene en los sistemas EL(motores eléctricos, robots ma-
nipuladores, entre otros), es la propiedad de pasividad [8, 12], la cual corresponde a
no generar más energı́a de la que se le suministra al sistema, esta propiedad es muy
interesante para el análisis de control, ya que puede ser incluida dentro del diseño
para inducir estabilidad [9, 10].
Este capı́tulo hace una breve referencia de estabilidad en el sentido de Lya-
punov (segundo método) en el cual se dan definiciones (estabilidad, estabilidad
asintótica, estabilidad global y estabilidad exponencial) y conceptos (funciones de
Lyapunov, función candidata a ser Lyapunov, funciones definidas positivas y negati-
vas, pasividad, entre otros, el principio de optimalidad de Hamilton-Jacobi-Bellman
[3, 4, 7, 18, 20]), para una mejor comprensión del mismo, también se da una breve
introducción a las propiedades de los sistemas dinámicos EL [6, 19], ya como estas
juegan un rol importante en el análisis y diseño de estrategias de control [8, 9, 10],
ası́ como las caracterı́sticas de la plataforma experimental (un dispositivo háptico
PHANToM premium 1.0 de 3−GDL [17] al que se pueden aplicar técnicas de con-
trol de movimiento libre para robots manipuladores [2]), por último se presenta un
diseño que con el uso y combinación de las técnicas citadas, se proponen diferen-
tes controladores (se hace una evaluación experimental de los controladores más
conocidos en el ámbito de la robótica como el PD+, Par-Calculado, controladores
de estructura variable de primer y segundo orden, controladores adaptables y por
último un controlador que solo requiere del conocimiento de la energı́a potencial
llamado sub-óptimo [8]) aplicados a una plataforma experimental, cuyo objetivo es
el mostrar como en el problema de seguimiento de trayectorias se puede reducir el
error a prácticamente cero desde el control más básico PD+, hasta controladores con
estructuras complejas par-calculado, control de estructura variable (esto mediante
una aproximación a modos deslizantes de primer y segundo orden con funciones
trigonométricas hiperbólicas), ası́ como una aproximación al controlador PID-No
Lineal mediante funciones trigonométricas hiperbólicas (reduciendo en gran medi-
da el costo computacional obtenido al integrar el error extendido [11]), entre otros.

2.2. Preliminares matemáticos

2.2.1. Conceptos generales

Esta sección presenta teorı́a matemática fundamental para el análisis de sistemas


EL, y considerando la teorı́a de Lyapunov. Para una presentación más detallada,
consulte [12, 19].
En el presente capı́tulo se hace uso de la teorı́a de estabilidad en el sentido de
Lyapunov, ya que es una poderosa herramienta no solamente para el análisis de
control clásico, además por la naturaleza de los sistemas no lineales, los cuales son
2. Control Basado en Pasividad 29

descritos de la forma:

ẋ = f (x) + g(x)u (2.1)


y = h(x) (2.2)

Con x, definido en una variedad X del origen de Rn ; f (x) es un campo vector en Rn ,


g(x) puede ser una matriz, h(x) es la salida, tal que f (0) = 0, h(0) = 0, y u es un
vector que representa las entradas del sistema.
El estudio de sistemas lineales se clasifica como variantes en el tiempo o inva-
riantes en el tiempo. En el caso de sistemas no lineales se les denomina de forma
general sistemas autónomos y no autónomos:

Definición 2.1. El sistema no lineal ẋ = f (x,t) es llamado autónomo, si f (x) no


depende explı́citamente del tiempo t, i.e. si el sistema en ecuaciones de estado no
puede ser escrito de la forma (2.1). De otra manera el sistema es denominado no
autónomo [20].

Considere que el sistema (2.1) donde x son las variables de estado, f es un campo
vectorial que representa las dinámicas del sistema, en la cual están involucradas las
fuerzas centrı́petas y de Coriolis, las fuerzas tribológicas, y fuerzas de gravedad, los
estados del sistema involucran al vector de posiciones y al vector de velocidades,
g(x) es una matriz de fuerzas de control, y u es el vector de entradas de control o
par de torsión (τ ).

Definición 2.2. El grado de libertad de un sistema es la diferencia que existe entre


el número de coordenadas generalizadas con el número de restricciones.

El sistema (2.1) puede tener dos tipos de restricciones, (holónomas y no-holóno-


mas).

Definición 2.3. Considerar el sistema en coordenadas generalizadas q, y sus deriva-


das q̇, q̈,
q̈ = f (q, q̇, τ ) (2.3)
por suposición que el sistema tiene algunas restricciones en sus lı́mites de ope-
ración. Si la condición de restricción puede ser expresada como una ecuación que
conecta a las coordenadas (y posiblemente el tiempo) de la forma:

h (q,t) = 0 (2.4)

entonces la restricción es llamada como holónoma. Este tipo de restricciones son


mejor conocidas como restricciones holónomas, ya que pueden ser integrables.

Definición 2.4. Por otra parte, cuando no es posible la reducción de las ecuaciones
de restricción en la forma (2.4), son llamadas no holónomas. En un sistema no
holónomo, las coordenadas generalizadas no dependen una de otra.
30 J. P. Ordaz-Oliver et al.

Figura 2.4 Péndulo sobre carro.

Por ejemplo, el péndulo sobre el carro (ver Figura 2.4), el cual tiene tres coor-
denadas generalizadas, x, x1 , y1 , sin embargo solo tiene una sola restricción que es
el movimiento del péndulo (restringido a una circunferencia o llamada restricción
holónoma). El péndulo sobre el carro no solo es un ejemplo de restricciones, sino
también es un ejemplo de grados de libertad nGDL ya que contiene 3 coordenadas
generalizadas y una restricción, que por Definición 2.2 el sistema es de 2GDL.

2.2.2. Conceptos de estabilidad

A continuación se definirá el concepto de estabilidad de sistemas autónomos.


Para una mejor comprensión de las siguientes secciones, se introduce una breve no-
tación simplificada. Sea BR una bola definida por kxk < R, con radio R en el espacio
de estado y SR una esfera en sı́, definida por kxk = R, donde x es una variedad del es-
tado que satisface x ∈ X ⊆ M donde M es una vecindad de Rn , y siendo x la variable
de estado del sistema.
La Figura 2.5 hace una representación gráfica de la estabilidad y donde cada
curva describe los diferentes casos.
Definición 2.5. Un punto x = x∗ en el espacio de estado es un punto de equilibrio de
sistema descrito por (2.1), con u = 0, si se tiene la propiedad de que el estado inicial
del estado x∗ , permanece en x∗ para todo tiempo t [4].
Definición 2.6. El estado de equilibrio x es llamado estable, en el sentido de Lya-
punov, si, para cualquier R > 0, existe un r > 0, tal que si kx(0)k < r, R > r, entonces
kx(t)k < R para todo t ≥ 0. De otra forma el punto de equilibrio será inestable [4].
Más formalmente, el estado define que el origen es estable dado que no buscamos
la trayectoria de estado x(t) que lleva fuera de la bola de un radio especı́ficamente
2. Control Basado en Pasividad 31

Figura 2.5 Curvas en el espacio de estado que representan estabilidad.

arbitrario BR , un valor r(R) puede ser encontrado tal que se inicie el estado desde el
interior de la bola Br en un tiempo cero, se garantiza que el estado permanecerá den-
tro de la bola BR .
Definición 2.7. El punto de equilibrio x = 0 de (2.1) es llamado atractor si existe un
número η > 0 que tiene la propiedad de que

lı́m x(t) = 0
t→∞

siempre que kx(0)k < η .


La bola Bη = {y ∈ Rn |d(x, y) < η } es llamada un dominio de atracción del punto
de equilibrio [20].
De la definición anterior, x(0) representa la condición inicial del estado y η repre-
senta el radio de una bola que contiene x(t) → 0 como equilibrio natural.
La estabilidad asintótica indica que en el equilibrio es estable, y que además, el
estado iniciado cerca de cero, converge a cero cuando t → ∞. Un punto de equilibrio
que es Lyapunov estable pero no es asintóticamente estable es llamado marginal-
mente estable.

Definición 2.8. Un punto de equilibrio x = 0 es asintóticamente estable si es estable,


y si es atractor [20].

Definición 2.9. Un punto de equilibrio x = 0 es exponencialmente estable si existen


dos números estrictamente positivos α ≥ 1 y λ > 0 tal que

∀t > 0; kx(t)k ≤ α kx(0)k e−λ t (2.5)


32 J. P. Ordaz-Oliver et al.

en alguna bola Br alrededor del origen donde el parámetro λ se le llama tasa de


convergencia exponencial [20].

En otras palabras (2.5) indica que el vector de estados de un sistema exponen-


cialmente estable tiene una taza de convergencia mayor al origen que un sistema
asintóticamente estable.
Las definiciones anteriores están dadas para estabilidad en sistema locales, las
siguiente definición es valida para sistemas globales.
Definición 2.10. Si un punto de equilibrio es asintóticamente (o exponencialmente)
estable, para cualquier condición inicial, el punto de equilibrio es llamado asintótica-
mente estable en la trayectoria. También se puede llamar globalmente asintótica-
mente estable [20].

2.2.3. Estabilidad en el sentido de Lyapunov (segundo método)

En esta sección se verá el estudio de la estabilidad en el sentido de Lyapunov de


los sistemas descritos por (2.1) y (2.2) al usar la energı́a total de los mecanismos
que satisfagan la función de Lyapunov que en esta sección se manejan. Primero el
método directo de Lyapunov formaliza la noción de funciones definidas positivas, y
la segunda por formalización es llamada función de Lyapunov.

Definición 2.11. Una función escalar continua V (x) es llamada definida positiva lo-
calmente, si V (0) = 0 y sobre una bola BR0

x 6= 0; ⇒ V (x) > 0 ∀x

Si V (0) = 0 y la propiedad anterior lleva al centro del espacio de estado, entonces


V (x) es llamada globalmente definida positiva [4].

La definición anterior implica que V (x) tiene un mı́nimo único en el origen.


Con una pequeña variación de la Definición 2.11, se pueden incluir funciones
definidas negativas local y globalmente como se observa a continuación.
Definición 2.12. Una función escalar continua V (x) es llamada una funcional defini-
da negativa localmente, si −V (x) es definida positiva.

x 6= 0 ⇒ V (x) < 0

Si se denota con x el estado del sistema (2.1), una función escalar V (x) representa
actualmente una función implı́cita del tiempo t. Asumiendo que V (x) es diferencia-
ble, y se usa la regla de la cadena [20].

dV (x) ∂ v ∂v
V̇ (x) = = ẋ = f (x) (2.6)
dx ∂x ∂x
2. Control Basado en Pasividad 33

Definición 2.13. Si en una bola BR0 , la función V (x) es definida positiva y tiene
derivadas parciales continuas, y si su derivada a lo largo de la trayectoria del sistema
(2.1) es semi definida negativa, entonces V (x) es llamada función de Lyapunov para
el sistema (2.1).
Una función de Lyapunov puede ser dada en una simple interpretación geométrica.
En la Figura 2.6, el valor del punto V (x1 , x2 ) es visto en un punto hacia abajo del
cono [20]. El término Local en un punto de equilibrio es de particular interés ya que

Figura 2.6 Forma tı́pica de una función definida positiva.

tiene propiedades de estabilidad en una vecindad del punto y usualmente involucra


una función definida positiva localmente.
Teorema 2.1. Sea x = 0 un punto de equilibrio de ẋ = f (x). Sea V : D → R una
función continua, tal que:
V (0) = 0
V (x) > 0 para x ∈ D − {0}
V̇ (x(t)) = ∂∂Vx f (x) = [D f V ](x) ≤ 0, para todo x ∈ {D}.
Entonces x = 0 es estable1 [7].

Demostración. Considere cualquier ε > 0 y considere la bola

1 Teorema principal de Lyapunov.


34 J. P. Ordaz-Oliver et al.

Br = x ∈ Rn : kxk < r ⊂ D,

donde r ∈ (0, ε ].
Sea β ∈ (0, α ] donde
α = máx V (x),
kxk=r

y defina
Ωβ = x ∈ Br : V (x) ≤ β ⊂ Br .
Elija x(0) ∈ Ωβ y sea x(t) cualquier solución de ẋ = f (x). Por hipótesis [D f V ](x(t))
≤ 0 lo cual indica que
V (x(t)) ≤ V (x(0)) ≤ β ,
para todo t ≥ 0. Esto indica que el conjunto Ωβ es invariante bajo f .
Ahora entonces, existe un δ > 0 tal que

kxk ≤ δ ⇒ V (x) < β

lo cual implica que


Bδ = x|kxk < δ ⊂ Ωβ ⊂ Br .
Ası́
si x(0) ∈ Bδ ⇒ x(0) ∈ Ωβ
⇒ x(t)Ωβ ∀ t ≥ 0
⇒ x(t)Br ∀ t ≥ 0
⇒ kx(t)k < r ≤ ε ∀ t ≥ 0
lo cual implica estabilidad de Lyapunov [7].

Teorema 2.2. Si en una bola BR0 existe una función escalar V (x) con la primer
derivada parcial continual tal que:

• V (x) es definida positiva (localmente en BR0 ).

• V̇ (x) es definida semi-negativa (localmente en BR0 ).

Entonces el punto de equilibrio es estable. Si actualmente la derivada V̇ (x) es


definida negativa localmente en BR0 , entonces es asintóticamente localmente estable
[4].

Una condición adicional para V es que tiene que satisfacer el no tener un radio
acotado, porque indica que V (x) → ∞ cuando kxk → ∞ (en otras palabras x tiende a
infinito en cualquier dirección). De aquı́ se obtiene el siguiente resultado.

Teorema 2.3. Suponga que existe una función escalar V (x) del estado x, con la
primer derivada parcial continua tal que

• V (x) es definida positiva.


2. Control Basado en Pasividad 35

• V̇ (x) es definida negativa .

• V (x) → 0 cuando kxk → ∞.

entonces el equilibrio en el origen es globalmente asintóticamente estable [4].

De estos resultados se puede concluir que pueden existir muchas funciones de


Lyapunov para el mismo sistema. Lo anterior indica que si V (x) es una función de
Lyapunov para un sistema dado, i.e.

V1 = ρ V α
donde ρ es una constante estrictamente positiva y α > 1 es cualquier escalar, no
necesariamente es entero, entonces V1 también es una función de Lyapunov.

Teorema 2.4. Bajo la hipótesis del Teorema 2.1, V̇ (x) < 0 en D − {0} implica que
x = 0 es asintóticamente estable [7].

Demostración. Dado V (x(t)) como una función no decreciente, esto implica

V (x(t)) → c ≥ 0,

cuando t → ∞.

Si c ≥ 0 entonces existe un d > 0 tal que Bd ⊂ Ωc . Ahora sea

−γ = máx V̇ (x) < 0.


kxk≥d

Entonces observe que

Rt
V (x(t)) = V (x(0)) + V̇ (x(τ )) d τ
0
= V (x(0)) − γ (t)

para un t grande, esto debe ser negativo, lo cual contradice el hecho de que V ≥ 0.
Por lo tanto c puede ser cero.

2.2.4. Principio de invarianza de LaSalle

La estabilidad de Lyapunov es una propiedad local de los puntos de equilibrio. Si


se sabe que kxk < δ implica kx(t)k < ε para cualquier ε y t ≥ 0, entonces se puede
pensar en una bola Bδ centrada en el punto de equilibrio como una base de atracción
(BOA por sus siglas en inglés) para el punto de equilibrio.
De aquı́ surge una pregunta, que indica bajo que condiciones será una base de
atracción un espacio de estado entero.
36 J. P. Ordaz-Oliver et al.

La idea básica es encontrada por la prueba original: retomando que r > 0 tal que
Br ⊂ D. Para esto se elige encontrar

β = mı́n V (x)
kxk=r

Obteniendo el conjunto invariante

Ω = {x ∈ Br |kV (x)k ≤ β }

Entonces elija Bδ ⊂ Ωβ . Si δ puede hacerse arbitrariamente grande cuando r → ∞,


entonces se puede concluir la estabilidad global.

Definición 2.14. Sea V : Rn → R una función tal que V (x) → ∞ cuando kxk → ∞,
entonces V es llamada como radialmente no acotada.

Los siguientes teoremas muestran que una V radialmente no acotada es suficiente


para la estabilidad asintótica global del punto de equilibrio

Teorema 2.5. Sea V : Rn → R una función continua radialmente no acotada tal


que V (0) = 0, V (x) > 0 cuando x 6= 0 y V̇ (x) < 0. Entonces x = 0 es globalmente
asintóticamente estable.2

Teorema 2.6. Sea x = 0 un punto de equilibrio de ẋ = f (x). Sea V una función C1


tal que V (0) = 0. Para todo ε > 0 suponga que existe x0 ∈ Bε , tal que V (x0 ) > 0. Si
existe un ε > 0 tal que V̇ (x) > 0 para x en el conjunto,

U = {x|kxk ≤ r,V (x) > 0},

entonces x es inestable.3

Demostración. x0 es interior de U y de V (x0 ) = a > 0. Ası́, la trayectoria que inicia


en x(0) = x0 , debe dirigirse a U .
Note que esta trayectoria no puede cruzar la superficie

{x|V (x) = 0},

porque V (x0 ) = a > 0. Ası́, puede ir dentro de la superficie

{x|kxk = r},

y entonces existe un ε > 0 tal que para algún x(0) arbitrariamente cerrado en el
punto de equilibrio, no se puede permanecer dentro de ε . Por lo tanto el punto de
equilibrio es inestable.

Definición 2.15. El conjunto lı́mite w (conjunto lı́mite positivo) de x es el conjunto


de todos los puntos positivos de x.
2 Teorema de Barbashin-Krasovskii sobre estabilidad asintótica.
3 Teorema de Chataev sobre sistemas inestables.
2. Control Basado en Pasividad 37

Definición 2.16. [7] Un conjunto M es llamado invariante respecto a f ( f invariante)


si x(0) ∈ M implica x(t) ∈ M para todo t ≥ 0.

Con base en las anteriores definiciones y teoremas, se puede ahora establecer de


forma más clara el Teorema de invarianza de LaSalle.

Teorema 2.7. Sea Ω ⊂ D un conjunto compacto positivamente invariante con res-


pecto a ẋ = f (x). Sea V : D → R una función C1 , tal que, V̇ ≤ 0 en Ω . Sea E el
conjunto de todos los puntos en Ω tal que V̇ = 0. Sea M el conjunto invariante
más grande en E. Entonces toda solución iniciada en Ω se aproxima a M cuando
t → ∞.4

Demostración. Sea x la solución de ẋ = f (x) iniciada en Ω . Dado que V̇ ≤ 0 en


Ω , se sabe que V (x(t)) es no creciente y también es acotada, ası́ que tiene un punto
lı́mite a.

El conjunto lı́mite w, L+ , de x esta Ω , dado que Ω es cerrado. Ası́ para cualquier


p ∈ L+ existe una sucesión {tn }, tal que, x(tn ) → p y

V (p) = lı́m V (x(tn )) = a,


n→∞

lo cual indica que V (x) = a en L+ .

Dado que L+ es invariante (por el teorema anterior) se sabe que V̇ (x) = 0 en L+


lo cual implica que
L+ ⊂ M ⊂ E ⊂ Ω .
Además se sabe por el Teorema anterior, que L+ es atractor, lo que implica que
x → L+ o que x → M.

El siguiente Corolario es una aplicación del principio de invarianza, que es


obtenido por la solución trivial x = 0, la cual es el mayor conjunto invariante en
E.

Corolario 2.1. Sea x = 0 el punto de equilibrio de ẋ = f (x). Sea V : D → R una


función definida positiva C1 en D, y que conteniendo a x = 0 tal que V̇ ≤ 0 en D.
Sea
S = {x ∈ D|V̇ = 0}.
Ahora suponga que la solución no esta en S, ya que es la solución trivial. Entonces
la solución es asintóticamente estable [7].

Comentario 2.1. Observe que al quitar la restricción de que V̇ es definida negativa,


todavı́a se asegura la estabilidad, y esto es por el costo de valorar la naturaleza tipo
no atractor de S.

4 Teorema de invarianza de LaSalle.


38 J. P. Ordaz-Oliver et al.

2.2.5. Ecuaciones de Hamilton-Jacobi-Bellman

Para iniciar esté tema, primero se define el concepto de optimización de Hamilton-


Jacobi-Bellman [18] como:
µ ¶
dV (x̃, τ ) T ˙
x̃ + f0 (x̃, τ ) (2.7)
d x̃

donde f0 (·) es una función especı́fica y definida positiva. El control τ ∗ es llamado


como control óptimo, donde V satisface la ecuación diferencial parcial:
µ ¶T
dV (x̃, τ ) dV (x̃, τ )
− = x̃˙ + f0 (x̃, τ )
dt d x̃

Una condición necesaria y suficiente para cumplir con la condición de optimabili-


dad, es elegir una función V (x) tal que se cumpla con la siguiente ecuación:
µ ¶
dV (x̃, τ ∗ ) ∗
mı́n H + f 0 (x̃, τ ) =0 (2.8)
τ∗ dt

El mı́nimo de está ecuación da la solución al problema de control óptimo τ = τ ∗ (t)


[3].
Para lo cual es necesario encontrar el control admisible τ ∗ (t) el cual hace que se
reduzca la función de error x̃ = x − xd al minimizar el ı́ndice de desempeño, el cual
es propuesto con la siguiente estructura:
Z ∞
J= [ f0 (x̃, τ )]dt, (2.9)
0

La ecuación (2.8) es mejor conocida como la ecuación de Hamilton-Jacobi-Bellman


la cual resulta inmediatamente en un control óptimo . Entonces también se descri-
be un resultado clásico de la ecuación de Hamilton-Jacobi-Bellman, el cual indica
condiciones suficientes para obtener un mı́nimo local de una función descrita.

Teorema 2.8. Sea L(x, τ ) un escalar con una función de variables de estado x y τ .
∂ 2 L(x,τ ∗ )
∂ u2
existe y es acotada y continua. También se asume que

∂ L(x, τ ∗ )
=0 (2.10)
∂u
y
∂ 2 L(x, τ ∗ )
> 0. (2.11)
∂ τ2
Entonces u∗ es un mı́nimo local [18].

Como el enfoque de este capı́tulo es orientado a robots de n − gdl, por lo que es


necesario conocer su descripción. El modelado de robots puede ser descrito por
2. Control Basado en Pasividad 39

diferentes técnicas de modelado, como lo es el modelo dinámico, el modelo cine-


mático directo de aceleración, el modelo cinemático directo de posición, el modelo
cinemático directo de velocidad, el modelo cinemático inverso de aceleración, el
modelo cinemático inverso de posición y el modelo cinemático inverso de velocidad.
Para nuestro caso de estudio el modelo dinámico, es un tipo de sistemas no linea-
les especı́fico, el cual es representado por ciertas ecuaciones llamadas ecuaciones de
EL.

2.3. Sistemas EL

Las ecuaciones EL originalmente fueron usadas para describir la dinámica de


sistemas mecánicos. Pueden ser demostradas por su equivalente en la segunda ley
de Newton. La ventaja de la formulación de EL es que la forma de estas ecuaciones
es invariable. Las ecuaciones de EL también pueden ser usadas para describir la
dinámica de otros sistemas fı́sicos, como sistemas eléctricos.
El modelado de sistemas con varios parámetros pueden ser dados por dos apro-
ximaciones básicas, las cuales son usadas comúnmente en la actualidad: usando ley
la de Newton se obtiene la ecuación de movimiento, o al aplicar el principio de
variación seleccionando funciones de energı́a. De hecho, para sistemas puramente
mecánicos o eléctricos se usa la segunda Ley de Newton y Ley de Kirchhoff, respec-
tivamente. El método de modelado por EL es muy fácil de aplicar para un sistema
hibrido5 de los mencionados anteriormente. En este caso, las fuerzas que interactúan
pueden obtenerse el método de desplazamiento arbitrario y de conservación de la
energı́a.

2.3.1. Modelado de sistemas EL

La metodologı́a de modelado de sistemas de EL puede ser utilizada para el mode-


lado de un robot. Para determinar las ecuaciones de EL en una situación especı́fica,
uno tiene que constituir el Lagrangiano del sistema, que es la diferencia entre la
energı́a cinética y la energı́a potencial total.
Las ecuaciones EL tienen algunas propiedades muy importantes que pueden ser
explotadas al diseñar y analizar los algoritmos de control por retroalimentación.
Entre estos lı́mites explı́citos está la matriz de inercia, linealidad en los parámetros
de inercia, y propiedades de pasividad, entre otros.
El diseño de un modelo vı́a aproximación por variación hace el uso de las fun-
ciones de energı́a en términos de conjuntos de variables generalizadas (tı́picamente
posiciones y cargas para el sistema mecánico y eléctrico, respectivamente), este
procedimiento hace una introducción de la función Lagrangiano. Las ecuaciones de

5 e.g. teniendo una parte mecánica y otra eléctrica (sistema electromecánico).


40 J. P. Ordaz-Oliver et al.

movimiento son derivadas, principalmente de dinámicas analı́ticas, particularmente


del principio de Hamilton, el cual describe el movimiento de los estados del sistema
a través de las trayectorias que minimizan la integral del Lagrangiano.
Uno de los orı́genes de las ecuaciones de EL para sistemas mecánicos es detalla-
do a continuación.

Modelo dinámico

Las etapas para el modelado dinámico de robots manipuladores por EL consiste


de los siguientes pasos [6]:

1. Cálculo de la energı́a cinética: K (q, q̇).

2. Cálculo de la energı́a potencial: U (q).

3. Cálculo de Lagrangiano: L (q, q̇).

4. Desarrollo de las ecuaciones de EL; para obtener:

E (q, q̇) = K (q, q̇) + U (q) (2.12)

donde E es la suma total de las energı́as,6 las energı́as cinéticas K (q, q̇) y las ener-
£ ¤T
gı́as potenciales U (q), y q = q1 . . . qn , es una función explı́cita del tiempo que
corresponde a un vector de coordenadas generalizadas.
El Lagrangiano L (q, q̇) de un robot manipulador es la diferencia entre su energı́a
cinética K (q, q̇) y su energı́a potencial U (q) de tal forma que:

L (q, q̇) = K (q, q̇) − U (q), (2.13)


La energı́a cinética se obtiene de la siguiente manera:

1 n 1
K (q, q̇) = ∑ mi v2i = 2 q̇T D(q)q̇
2 i=1
(2.14)

con i representado la i − esima articulación i = 1, . . . , n, y n = grados de libertad,


mi ∈ Rn es la masa, vi ∈ Rn es la velocidad del i-ésimo eslabón respectivamente,
D(q) ∈ Rn×n es una matriz simétrica definida positiva denominada matriz de inercia.
La energı́a potencial U (q) ∈ Rn no tiene una forma especı́fica como en el caso de
energı́a cinética, pero se sabe que depende del vector de posiciones articulares q,
situación que describe la altura del centro de masas con relación al plano de trabajo.
La energı́a potencial U (q) se obtiene de la siguiente forma:
n
U (q) = g ∑ mi hi (2.15)
i=1

6 También conocida como Hamiltoniano.


2. Control Basado en Pasividad 41

donde hi ∈ Rn es la altura respecto al centro de gravedad del i-ésimo eslabón, y g es


la constante de gravedad.
Considerando a U (q) como fuerzas conservativas, como lo es la fuerza de
gravedad y fuerzas de resorte. Las ecuaciones del movimiento de EL vienen dadas
por:
· ¸
d ∂ L (q, q̇(t)) ∂ L (q, q̇(t))
− = τ, (2.16)
dt ∂ q̇(t) ∂ q(t)
El Lagrangiano L (q, q̇), dado por la ecuación (2.13) en este caso es:
1
L (q, q̇) = q̇T D(q)q̇ − U (q) (2.17)
2
De esta forma la ecuación de movimiento de EL puede expresarse como:
· · ¸¸ · ¸
d ∂ 1 T ∂ 1 T ∂ U (q)
q̇ D(q)q̇ − q̇ D(q)q̇ + = τ,
dt ∂ q̇ 2 ∂ q̇ 2 ∂q
los términos del lado derecho de la ecuación anterior son fuerzas externas, por lo
tanto puede verificarse que:
h £ ¤i
d ∂ 1 T
dt ∂ q̇ 2 q̇ D(q)q̇ = D(q)q̈ + Ḋ(q)q̇,
£
∂ 1 T
¤
∂ q̇ 2 q̇ D(q)q̇ = D(q)q̇,

cuya forma genérica es:

D(q)q̈ +C(q, q̇)q̇ + G(q) = τ (2.18)


Nótese que de (2.18) es una ecuación diferencial vectorial no lineal en el estado
£ T T ¤T
q q̇ , donde

1 ∂ £ T ¤
Ċ(q, q̇)q̇ = Ḋ(q)q̇ − q̇ D(q)q̇ , (2.19)
2 ∂q
∂ U (q)
G(q) = (2.20)
∂q

y C(q, q̇)q̇ ∈ Rn×1 es llamado vector de fuerzas centrı́fugas y de Coriolis, G(q) ∈



Rn×1 es el vector de fuerzas o de pares gravitacionales y τ = u ∈ Rn×1 es llamado
vector de fuerzas externas, siendo generalmente los pares y fuerzas aplicadas por
los actuadores en las articulaciones.
La matriz C(q, q̇) ∈ Rn×n puede no ser única, pero el vector G sı́ lo es y C define
el mapeo C : Rn → L(Rn × Rn ; Rn ). Una manera de obtener C(q, q̇)q̇ es a través de
los coeficientes o sı́mbolos de Christoffel ci jk (q) definidos como:
· ¸
1 dDk j (q) dDki (q) dDi j (q)
ci jk (q) = + + ,
2 ∂ qi ∂qj ∂ qk
42 J. P. Ordaz-Oliver et al.

donde Di j (q) denota el ij-ésimo elemento de la matriz de inercia D(q). En efecto,


el kj-ésimo elemento Ck j (q, q̇) de la matriz C(q, q̇) puede obtenerse de la siguiente
manera:
 T
c1 jk (q)
 c2 jk (q) 
 
Ck j (q, q̇) =  .  ,
 .. 
cn jk (q)
Usando una factorización especial describimos el sistema de ecuaciones de EL
puede ser representado de forma equivalente a

D(q)q̈ +C(q, q̇)q̇ + G(q) = τ (2.21)

2.3.2. Suposiciones y propiedades

En esté apartado solo se mencionan las propiedades dinámicas más importantes


del sistema (2.21) para el desarrollo de éste tema [12],[19]:

Propiedad 2.1. La matriz de inercia D(q) es definida positiva ∀ q, y simétrica


D(q) = D(q)T , y también tiene una cota inferior y superior, i.e. satisface la de-
sigualdad

λm D(q) ≤ D(q) < dM I (2.22)


donde λm D(q) y dM son constantes positivas.

Propiedad 2.2. La matriz de fuerzas centrı́petas y de Coriolis tiene la siguiente


relación con la matriz de fuerzas de inercia:
· ¸
T 1
q̇ Ḋ(q) −C(q, q̇) q̇ = 0 ∀q, q̇ ∈ Rn .
2

y está propiedad es mejor conocida como propiedad de anti-simetrı́a.

Propiedad 2.3. El sistema (2.21) puede ser parametrizado de la forma

D(q)q̈ +C(q, q̇)q̇ + g(q) = Y (q, q̇, q̈)T Φ (2.23)


donde Φ ∈ Rp es un vector de parámetros constantes e Y (q, q̇, q̈)T ∈ Rn×p es la
matriz de regresión.

Propiedad 2.4. La función de energı́a potencial U (q) es radialmente acotada, glo-


balmente definida positiva y tiene un mı́nimo único en q = qeq . También asumimos
que U (q) no tiene ningún otro punto crı́tico, por lo que q = qeq es la única solución
de ∂ U /∂ q = 0.
2. Control Basado en Pasividad 43

Propiedad 2.5. Existe alguna constante positiva kg y kv tal que


° 2 °
° ∂ u(q) °
kg ≥ sup °° ° (2.24)
q∈Rn ∂ q2 °
° °
° ∂ u(q) °
kv ≥ sup °° ∂q °
° (2.25)
q∈Rn

Propiedad 2.6. La matriz C(x, y) es acotada en x y lineal en y, entonces ∀z ∈ Rn

C(x, y)z = C(x, z)y (2.26)


kC(x, y)k ≤ kc kyk , kc > 0 (2.27)

de hecho (2.26) es una consecuencia de la definición de C(q, q̇). También las de-
sigualdades (2.24) y (2.25) son una definición de los sı́mbolos de Christoffel.

Propiedad 2.7. Al derivar la energı́a total (2.12) se obtiene:

E˙ (q, q̇) = q̇T D(q)q̈ + 12 q̇T Ḋ(q)q̇ + q̇T G(q)


= q̇T (−C(q, q̇)q̇ − G(q) + τ ) + 12 q̇T Ḋ(q)q̇ + q̇T G(q) (2.28)
= q̇T τ .

Propiedad 2.8. De la propiedad de pasividad, se tiene que:

Zt
V (x) −V (x0 ) ≤ yT (s)u(s)ds, (2.29)
0

donde V (x) es una función de almacenamiento, y(s) es la salida, y u(s) la entrada,


respectivamente, y s un cambio de variable. Usando (2.8) para sistemas EL, la fun-
ción de energı́a E (q, q̇) como función de almacenamiento, y con la propiedad de
pasividad se tiene que:
Zt
E (t) − E (0) ≤ q̇T τ dt (2.30)
0

donde q̇T es la salida y τ es la entrada del sistema.

Observe que (2.21) puede ser reescrita de la siguiente forma:


· ¸ · ¸
d q q̇
= . (2.31)
dt q̇ D(q)−1 [τ −C(q, q̇)q̇ − G(q)]

la cual tiene la estructura de (2.1), donde x ∈ M ⊆ R2n es el sistema configurado


en variables de estado, u ∈ Rm son las entradas de control. Ya que se plantea una
reformulación de sistema para que esté llegue a un equilibrio deseado, entonces se
introduce la ecuación de error de la siguiente forma:
44 J. P. Ordaz-Oliver et al.

x̃˙ = f (x̃) + g(x̃)τ (2.32)

Una vez que se ha comprendido la teorı́a anterior, ahora se puede realizar una
conexión con la teorı́a de control para el desarrollo de un algoritmo de control como
se presenta en la siguiente sección.

Definición 2.17. Sistema EL actuado y subactuado: Si el número de entradas de


control nu es igual al número de grados de libertad n, el sistema es llamado comple-
tamente actuado, esto es, n = nu . Si n > nu , el sistema es llamado subactuado. Es
decir, un sistema subactuado es aquel que tiene menos número de grados de libertad
que entradas de control, i.e. rank (g(x)) < dim (q).

En esté capı́tulo solo se aborda a sistemas completamente actuados, ya que los sis-
temas subactuados son un caso de estudio que particularmente involucra un análisis
más complejo.

2.4. Plataforma robótica experimental

El estudio comparativo experimental de las estrategias de control de movimiento


aplicado a robots manipuladores fueron efectuadas en una estación de interacción
háptica con altas prestaciones, esta es constituida por un dispositivo háptico de tres
grados de libertad, de tipo serial y cadena abierta (PHANToM premium 1.0: Sens-
Able Technologies [17]). Se emplea la interfaz de aplicación programable GHOST
SDK 3.1 y para aplicaciones especiales se desarrollaron ciertas clases en Visual C++
con el propósito de utilizar a PHANToM premium 1.0 (Figura 2.7) con mecanismo
robótico, y que en este sentido tiene importantes contribuciones en tareas de guiado
háptico local y remoto de tipo exploratorio que a su vez contribuyen en entrenamien-
to, exploración, desesperación, y aplicaciones médicas en diagnostico y rehabili-
tación. PHANToM premium 1.0, es un dispositivo háptico de baja fricción articular
equivalente a 0.04 N, de esta manera la formulación EL aplicada a este dispositivo
no considera de manera adicional el vector de fuerzas de fricción viscosa debido a la
magnitud del coeficiente especificado. La fuerza maxima equivalente en el efector
final (dedal) corresponde a 8.5 N, de forma tal que se considera una protección de
desconexión cuando f = (J T )−1 τ excede el valor de esta fuerza, misma que podrı́a
dañar fı́sicamente al operador humano en el lazo de control (perturbación inducida)
durante tareas de guiado háptico, y τ represente la señal de control en tiempo real
para todas las estrategias de control propuestas en este capı́tulo. De la misma manera
los efectos inerciales inherentes al dispositivo son relativamente pequeños, hacien-
do de este sistema un dispositivo háptico con alto desempeño. Los codificadores
ópticos que retroalimentar posición y velocidad articular permiten garantizar varia-
ciones en el espacio operacional (espacio de trabajo) de 0.03 mm en cualquiera de
los ejes X, Y y Z . La Figura 2.8 corresponde a una diagrama de componentes y
flujo de señales en la interfaz hombre - maquina utilizada como plataforma expe-
rimental. En ella se asume la participación de un operador humano sujetando un
2. Control Basado en Pasividad 45

Figura 2.7 Dispositivo háptico PHANToM Premium 1.0 empleado como mecanismo robótico
experimental [17].

Figura 2.8 Diagrama de componentes y flujo de señales de la plataforma experimental.

dedal e introduciendo una fuerza fh (perturbación externa), y cuya dimension obli-


ga a modificaciones de la configuración del dispositivo, cuyos cambios representan
movimiento articulares sensados mediante los codificadores ópticos mecánicamente
acoplados a los actuadores de cd, estas señales corresponden a las variables articu-
lares de posición y velocidad y que originalmente son empleadas para modificar
el ambiente de realidad virtual que estimula visualmente al operador, instantánea-
mente se evalúa un algoritmo de detección de contacto de forma tal que cuando este
evento ocurre se calcula una fuera de reacción f , misma que permite determinar al
vector de pares generalizados necesarios de aplicar en los actuadores a través de la
interfaz electrónica de potencia, este mapeo de fuerza-par es descrito a partir de la
ecuación siguiente:
τ = JT f (2.33)
46 J. P. Ordaz-Oliver et al.

De esta manera la fuerza de reacción fr que estimula al operador humano en el


dedal representa el contacto que tuvo de manera equivalente en el ambiente virtual
[2]. Cabe mencionar que todos los experimentos integrados en este capı́tulo no con-
sideran al operador humano en el lazo, de forma que se planifica el movimiento
(posición y velocidad) sin perturbación externa.

2.4.1. Descripción de la dinámica

Del modelado por EL se obtiene que las ecuaciones que describen el compor-
tamiento del sistema son definidas por (2.21), donde la matriz de inercias se define
como D(q) ∈ Rn×n , la matriz de fuerzas centrı́petas y de Coriolis como C(q, q̇)
∈ Rn×n y finalmente el vector de fuerzas de gravedad de la forma G(q) ∈ Rn×n y
sus elementos están determinados de la siguiente forma:

D(q)q̈ +C(q, q̇)q̇ + G(q) = τ


entonces de forma general para el manipulado de tres grados, las ecuaciones dinámi-
cas del mismo respecto a la Figura 2.8 se describen de la siguiente forma:

         
m11 0 0 θ̈1 c11 c12 c13 θ̇1 0 τ1
 0 m22 m23  θ̈2  + c21 0 c23  θ̇2  + g2  = τ2  (2.34)
0 m32 m33 θ̈3 c31 c32 0 θ̇3 g3 τ3

donde los elementos de la matriz de inercias son:

m11 = {(0.5L12 + 0.125L22 )ma + (0.125L12 + 0.5L32 )mc}


+ 0.125L12 (4ma + mc) cos(2θ2 ) − 0.125(L22 ma + aL32 mc) cos(2θ3 )
+ 0.125L1(L2ma + L3mc) cos(θ2 )sen(θ3 )
m22 = L12 (ma + 0.25mc)
m23 = −0.5L1(L2ma + L3mc)sen(θ2 − θ3 )
m32 = m23
m33 = 0.25L22 ma + L32 mc

los elementos de la matriz de fuerzas Centrı́petas y de coriolis de la forma:


2. Control Basado en Pasividad 47

c11 = 0.25{−2sen(θ2 )[L12 (4ma + mc) cos(θ2 ) + 2L1(L2ma + L3mc)sen(θ3 )]θ̇2 }


= 0.25 cos(θ3 ){2L1(L2ma + L3mc) cos(θ2 ) + (L22 ma + 4L32 mc)sen(θ3 )}θ̇3
c12 = −0.25{L12 (4ma + mc)sen(2θ2 ) + 4L1(L2ma + L3mc)sen(θ2 )sen(θ3 )}θ̇1
c13 = −0.125{−4L1(L2ma + L3mc) cos(θ2 ) cos(θ3 ) − (L22 ma + 4L32 mc)sen(2θ3 )}θ̇1
c21 = −c12
c23 = 0.5L1(L2ma + L3mc) cos(θ2 − θ3 )θ̇3
c31 = −c13
c33 = 0.5L1(L2ma + L3mc) cos(θ2 − θ3 )θ̇2

Los elementos del vector de fuerzas gravitacionales son:

g1 = 0
g2 = g{L1(ma + 0.5mc) + L5mbe } cos(θ2 )
g3 = g{0.5L2ma + L3mc − L5md f }sen(θ3 )

Los parámetros aproximados del modelo dinámico que representan masas y lon-
gitudes de los eslabones y elementos del dispositivo experimental son:
Parámetro Valor Unidad
ma 17.5x10−3 Kg
mc 10.4x10−3 Kg
mbe 0.2214 Kg
md f 0.1106 Kg
L1 13.97 cm
L2 13.97 cm
L3 0.325 cm
L4 0.368 cm
L5 0.527 cm
g 9.81 m/s2
Para mayor detalle consultar [2].

2.4.2. Descripción de la tarea experimental

Las consignas de movimiento empleadas para verificar el desempeño experimen-


tal de las estrategias de control propuestas en este capı́tulo, son descritas a partir de
lo siguiente:
La trayectoria es determinada por las siguientes ecuaciones paramétricas:
48 J. P. Ordaz-Oliver et al.

x(t) = ρ (t) cos(ϕ (t)) + h


y(t) = ρ (t) sin(ϕ (t)) + k
(2.35)
ϕ (t) = λ t
ρ (t) = r cos(ηϕ (t))
donde η = 3, h = 0.03m, k = 0.02m, r = 0.01, λ = 1, estas ecuaciones represen-
tan la trayectoria de una flor de tres pétalos, la cual puede ser vista en la Figura
2.9.

Trayectoria en el espacio (X−Y−Z)

0.5
Z [m]

−0.5

−1
0.03
0.025 0.04
0.02 0.035
0.03
0.015 0.025
Y [m] 0.01 0.02
X [m]

Figura 2.9 Trayectoria propuesta.

La frecuencia de muestreo es de 1Khz.


La velocidad de referencia es definida a partir de la derivada de las ecuaciones
paramétricas descritas previamente. Cabe mencionar que la planificación de movi-
mientos corresponde al espacio operacional (espacio de trabajo), sin embargo los
controles propuestos en este capı́tulo son de tipo articular, situación que demanda el
uso del modelo cinemático inverso de posición, velocidad y aceleración (ver [2]).

2.5. Control por retroalimentación de estados

Clásicamente para el diseño de sistemas de control, tanto lineal como no lineal, se


hace uso de sus propiedades inherentes de los sistemas.7 Del principio de estabilidad
de Lyapunov, que se presenta en la sección anterior, se observa que una función
candidata a ser Lyapunov clásica, de la forma:
1
V (x) = x2
2
7 e.g. para sistemas lineales se verifica si el sistema es controlable, mientras que para el caso de
sistemas no lineales se toman caracterı́sticas dinámicas.
2. Control Basado en Pasividad 49

donde x representa los estados del sistema (2.1), V (x) ∈ R la función candidata a ser
Lyapunov, por lo tanto su derivada temporal tendrá la siguiente estructura:

dx
V̇ (x) = x = xẋ
dt
entonces se puede cerrar el lazo de la función derivada de Lyapunov con (2.1) y
obtener lo siguiente:
V̇ (x) = x [ f (x) + g(x)u]
con esta última ecuación y propiedades explı́citas del sistema no lineal, como son
sus propiedades dinámicas (en el caso de estudio, robots manipuladores, son las
propiedades dinámicas de un sistema EL), entonces se puede generar una función de
control de la función de Lyapunov con el uso de la entrada u que induzca estabilidad,
esto genera un gran potencial para el diseño de técnicas de control.
El caso de estudio de este capı́tulo prácticamente es basado en robots manipu-
ladores de nGDL, sin embargo la teorı́a es aplicada de forma general a sistemas
dinámicos EL.

2.5.1. Control PD+G

El controlador Proporcional con retroalimentación de velocidad es el controlador


en lazo cerrado más sencillo que puede emplearse en el control de robots manipula-
dores (Figura 2.10). La aplicación de está estrategia simplemente es diseñada para
el control de posición, sin embargo, el control de posición mediante está técnica
presenta ciertas restricciones que limitan el uso. Ya que en el diseño de esté contro-
lador se omite la interacción de fuerzas conservativas (el case de energı́a potencial)
dando ası́ una limitación en el desempeño de regulación. Por lo que se propone un
diseño que sea capaz de satisfacer no solo esta limitante, sino que mediante aproxi-
maciones a funciones de Lyapunov, el diseño compense otras no linealidades, para
lo cual se requiere de un conocimiento previo del modelo dinámico del sistema.
Debido a que generalmente la ley de control requiere información sobre la posi-
ción deseada qd , la velocidad deseada q̇d , la posición real q ası́ como la velocidad
q, e información especifica de las dinámicas, entonces un diagrama a bloques que
corresponde a un controlador con compensación dinámica es expresado en la Figura
2.13.
Una vez consideradas las dinámicas de un robot manipulador en su forma más
general (2.1) el cual tiene n grados de libertad, con eslabones rı́gidos, sin fricción
entre sus uniones8 y actuadores ideales

D (q) q̈ +C (q, q̇) q̇ + G (q) = τ

8Se propone que las dinámicas no incluyen efectos tribológicos, ya que estos inducen disipación
de energı́a y en consecuencia estabilidad.
50 J. P. Ordaz-Oliver et al.

Figura 2.10 Controlador PD.

El problema de control de posición se puede formular en el siguiente término:

lı́m q̃(t) = lı́m (q − qd ) → 0,


t→∞ t→∞ (2.36)
lı́m q̃˙(t) = lı́m (q̇ − q̇d ) → 0,
t→∞ t→∞

donde qd es de la misma dimensión que q, además qd es un vector constante el cual


hace referencia a las posiciones deseadas. Por lo que en términos de control se desea
encontrar un par τ o entradas de control en lazo cerrado de tal manera que cumpla
con (2.36).
Ya que los robots manipuladores tienen la propiedad de pasividad (2.30), en-
tonces el control puede ser diseñado mediante un análisis el cual involucre está pro-
piedad, para hacer dicho análisis es necesario involucrar teorı́a de estabilidad de
Lyapunov (ver segundo método o teorema principal de Lyapunov) con el análisis de
pasividad dado por las dinámicas de EL.
Ahora bien hay que trabajar con errores directamente sobre las dinámicas del
sistema (2.1), i.e. hacer un cambio de variable sobre las dinámicas involucrando a
q̃. Por lo tanto para el diseño de controladores mediante pasividad hay que darle un
enfoque de estabilidad.
Para el diseño de controladores como se propone en esté trabajo, como primer
paso hay que proponer una función candidata a ser Lyapunov, i.e. una función que
sea definida positiva. De las propiedades de los sistemas EL se sabe que la ener-
gı́a cinética presenta cierta caracterı́sticas, y que por definición (2.14) se sabe que
K (q, q̇) es definida positiva, por lo que está función puede formar parte de la fun-
ción de Lyapunov de la siguiente forma:
1 1
V (x) = q̇T D(q)q̇ + q̃T K p q̃ (2.37)
2 2
donde x representa los estados (q, q̇), K p es una matriz definida positiva y simétrica.
De la teorı́a de estabilidad de Lyapunov es muy conocido que para que un sistema
sea estable en un punto de equilibrio, requiere cumplir con ciertas propiedades, co-
mo, que se encuentre una función de Lyapunov donde V (x) > 0, sea continuamente
diferenciable y que su primer derivada temporal cumpla con V̇ (x) < 0, entonces se
propone que el estado en equilibrio, en el caso de estudio, sea la posición deseada,
i.e. x̃ = x − xd para el caso de regulación se propone que x̃ = [q̃, q̇] que es el error
propuesto, entones se tiene que la derivada de la función candidata a ser Lyapunov
2. Control Basado en Pasividad 51

se representa de la siguiente forma:

V̇ (x) = 12 q̈T D(q)q̇ + 12 q̇T Ḋ(q)q̇ + 12 q̇T D(q)q̈+


+ 21 q̃˙T Kp q̃ + 12 q̃T K p q̃˙

que al reducir se obtiene:


1
V̇ (x) = q̇T D(q)q̈ + q̇T Ḋ(q)q̇ + q̃T K p q̃˙
2
ya que esta función no es claro que sea una función de Lyapunov, pero la ventaja es
que está función contiene el segundo orden del sistema, i.e. contiene a D(q)q̈ la cual
puede obtenerse de la ecuación (2.21) de la forma D(q)q̈ = [τ −C(q, q̇)q̇ − G(q)], y
la ecuación anterior se escribe de la siguiente manera:

V̇ (x) = q̇T D(q)q̈ + 12 q̇T Ḋ(q)q̇ + q̃T K p q̃˙


= q̇T [τ −C (q, q̇) q̇ − G(q)] + 12 q̇T Ḋ(q)q̇ + q̃T K p q̃˙
= q̇T τ − q̇T C (q, q̇) q̇ −·q̇T G(q) + 21 q̇T Ḋ(q) T ˙
¸ q̇ + q̃ K p q̃
1 (2.38)
= q̇T τ − q̇T G(q) + q̇T Ḋ(q) −C (q, q̇) q̇ +q̃T K p q̃˙
2
| {z }
propiedad de anti−simetria
= q̇T τ − q̇T G(q) + q̃T Kp q̃˙

en el caso de control de posición se tiene que q̃˙ = q̇− q̇d donde q̇d = 0 por ende q̃˙ = q̇
y por propiedades de matrices definidas positivas (2.38) se expresa de la siguiente
forma:
V̇ (x) = q̇T τ − q̇T G(q) + q̇T Kp q̃ = q̇T [τ − G(q) + Kp q̃] (2.39)
ya que (2.39) no tiene caracterı́sticas de ser una función definida positiva, entonces
se propone que la derivada V̇ (x) tenga la estructura de una función de Lyapunov, i.e.
que V̇ (x) < 0, entonces se propone lo siguiente:

V̇ (x) = −q̇T Kd q̇ (2.40)

donde Kd es la matrix definida positiva y simétrica, por lo que la nueva estructura de


V̇ (x) será una función de Lyapunov, y por la propiedad que tiene (2.39) de involucrar
las entradas de control τ entonces:

V̇ (x) = −q̇T Kd q̇ = q̇T [τ − G(q) + Kp q̃]

obviamente el control que hace que se cumpla con (2.40) es:

τ = G(q) − K p q̃ − Kd q̇. (2.41)

Como se puede ver el la Figura 14(a) el error tiende a ser cero, sin embargo no
alcanza el equilibrio, esto debido a que el control es insuficiente para atenuar las no-
52 J. P. Ordaz-Oliver et al.

linealidades que se presentan en el desempeño del mismo, esto puede ser visto com
más claridad en las Figuras 15(b) y 14(b) que no sigue la trayectoria eficientemente.
Por la estructura fı́sica del controlador, se puede concluir que es un controlador
PD con compensación de energı́a potencial no es apto para el seguimiento de trayec-
torias, su interpretación puede ser descrita por la Figura 2.12.

Figura 2.11 Interpretación fı́sica de un sistema de control, robot manipulador con tres grados de
libertad.

En el presente capı́tulo solamente se presentan algunos casos de estudio, estos


casos de estudio se han presentado anteriormente en diferentes trabajos de investi-
gación, sin embargo la ventaja de esté análisis es que se trabaja directamente en el
diseño, explotando varias propiedades.
En las Figuras 2.11 y 2.12 se puede ver como un punto cualquiera puede ser
transformado en un punto de equilibrio mediante una compensación de energı́a po-
tencial.
Ahora bien para resolver el problema de control de velocidad (i.e. xd = t, ẋd = 1
y ẍd = 0), es necesario involucrar nuevos aspectos dentro de la función de Lyapunov
(2.37), como es que se introducı́a un error de velocidad q̃˙ = q̇ − q̇d donde q̇d sea una
trayectoria y el problema de control involucra que se cumpla con:

lı́m q̃ (t) = lı́m q − qd → 0,


t→∞ t→∞
lı́m q̃˙ (t) = lı́m q̇ − q̇d → 0,
t→∞ t→∞
2. Control Basado en Pasividad 53

Figura 2.12 Interpretación fı́sica de un sistema de control por compensación de energı́a potencial.

por lo tanto de la función de Lyapunov (2.37) se hace un simple cambio, hacia la


forma siguiente:
1 ˙T 1
V (x) = q̃ D(q)q̃˙ + q̃T K p q̃ (2.42)
2 £ 2 ¤
= q̃˙T τ − G(q) + K p q̃˙ (2.43)

siguiendo con el procedimiento de (2.38), ya que solamente se trata de un control de

Figura 2.13 Controlador PD+G.

seguimiento de velocidad entonces simplemente basta con involucrar la velocidad


deseada, es decir que para este caso la aceleración deseada propuesta será cero (q̃¨ =
q̈ − q̈d donde q̈d = 0), y la derivada de está función es:
54 J. P. Ordaz-Oliver et al.

V̇ (x) = 12 q̈T D(q)q̃˙ + 12 q̃˙T Ḋ(q)q̃˙ + 12 q̃˙T D(q)q̈ + 21 q̃˙T K p q̃ + 12 q̃T Kp˙˜q
1 ˙T
= q̃˙T D(q) ˙ T
£ q̈ + 2 q̃ Ḋ(q)q̃ + ¤q̃ K1p q̃T
˙
= q̃˙ τ −C (q, q̇) q̃˙ − G(q) + 2 q̃˙ Ḋ(q)q̃˙ + q̃T K p q̃˙
T

= q̃˙T τ − q̃˙T C (q, q̇) q̃˙ −·q̃˙T G(q) + 12 q̃˙T Ḋ(q) ˙ T ˙


¸ q̃ + q̃ K p˜q
1
= q̃˙T τ − q̃˙T G(q) + q̃˙T Ḋ(q) −C (q, q̇) q̃˙ +q̃T K p q̃˙
2
| {z }
propiedad de anti−simetria

de la misma forma se propone un que cumpla con cierta estructura en la función


de Lyapunov, i.e. que V̇ (x) = −q̃˙T Kd q̃˙, entonces la ecuación anterior se reduce a lo
siguiente:
V̇ (x) = −q̃˙T Kd q̃˙ = q̃˙T [τ − G(q) + Kp q̃]
por simplicidad es obvio que el control τ da solución a está ecuación, y resulta en:

τ = G(q) − K p q̃ − Kd q̃˙ (2.44)

en la Figura 2.13. De la aplicación de la ley de control (2.44) sobre la plataforma


experimental (robot manipulador PANTHoM 1.0), donde KP = 0.5, y KD = 0.2, a
partir de estas ganancias de control, se obtienen los resultados descritos a conti-
nuación.

Señal de error (Primer eslabón) Posición articular (Primer eslabón)


10 Pos. Phantom
Posición[rad]

Pos. Deseada
Error[rad]

0.25
0
0.2

−10 0.15
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Señal de error (Segundo eslabón) Posición articular (Segundo eslabón)
Pos. Phantom
Posición[rad]

2
Pos. Deseada
Error[rad]

0.065
0.06
0
0.055
0.05
−2
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Señal de error (Tercer eslabón) Posición articular (Tercer eslabón)
10 Pos. Deseada
Posición[rad]
Error[rad]

0.2
0
0.15

−10 0.1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Señal de error. (b) Estados del robot.

Figura 2.14 Resultados del robot ante control PD+G.

Del control (2.41) se puede determinar que (2.37) y (2.40) son las funciones de
Lyapunov del sistema (2.18), por simplicidad y dado que V (x) > 0 (excepto en el
equilibrio q = qd ) y V̇ (x) < 0, entonces se cumple con el teorema (2.5), por lo tanto
se concluye que la ley de control (2.41) induce estabilidad asintótica global en el
equilibrio deseado qd para el sistema EL (2.18). Por lo tanto mediante esté análisis se
resuelve de una forma muy sencilla el problema de control de posición. Sin embargo
esté desarrollo da pauta para encontrar una infinidad de controladores.
2. Control Basado en Pasividad 55
Señal de control (Primer eslabón)
Trayectoria en el espacio de trabajo (X vs Y)
1

Par[Nm]
0.5 px−py−pz Deseada
X−Y−Z Real
0
0.02
−0.5
0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)

Y−PY[m]
0.1
Par[Nm]

0 0.01
−0.1
−0.2 0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0.4 0
0.05
Par[Nm]

0.2 −0.01 0.04


0 0.03
−0.02 0.02
−0.2 0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria en el espacio de trabajo.

Figura 2.15 Control PD+G

2.5.2. Control par calculado

Como se puede observar el control (2.41) y (2.44) son controladores del tipo PD
pero en esté caso tienen compensación de gravedad. Sin embargo es bien sabido

Figura 2.16 Interpretación fı́sica de un controlador por compensación dinámica.

que estos controladores no compensan las dinámicas de forma efectiva provocando


un error en estado estacionario, por lo que se sugiere que la función de Lyapunov
(2.37) sea modificada nuevamente, en la cual se involucre la aceleración, i.e. que el
segundo orden del sistema sea considerado en las ecuaciones de error de la forma
q̃¨ = q̈ − q̈d (control de aceleración), y se cumpla con las siguientes condiciones:

lı́m q̃ (t) = lı́m q − qd → 0,


t→∞ t→∞
lı́m q̃˙ (t) = lı́m q̇ − q̇d → 0,
t→∞ t→∞
lı́m q̃¨ (t) = lı́m q̈ − q̈d → 0.
t→∞ t→∞

por lo que se propone una función candidata a ser Lyapunov la cual involucre direc-
tamente las referencias anteriores . Entonces la función de Lyapunov, que hasta el
momento se ha manejado (2.42), tendrá la siguiente estructura:
1 1
V (x) = q̃˙T D(q)q̃˙ + q̃T K p q̃
2 2
56 J. P. Ordaz-Oliver et al.

por lo tanto la función derivada será la siguiente:


1
V̇ (x) = q̃˙T D(q)q̃¨ + q̃˙T Ḋ(q)q̃˙ + q̃T K p q̃˙
2
de la estructura (2.42), entonces la ecuación anterior la cual involucra a una referen-
cia de aceleración, es decir:
1
V̇ (x) = q̃˙T D(q) (q̈ − q̈d ) + q̃˙T Ḋ(q)q̃˙ + q̃T Kp q̃˙
2
se puede desarrollar de la sı́guete forma:

V̇ (x) = q̃˙T D(q)q̈ − q̃˙T D(q)q̈d + 12 q̃˙T Ḋ(q)q̃˙ + q̃T K p q̃˙


(2.45)
= q̃˙T [τ −C (q, q̇) q̇ − G(q)] − q̃˙T D(q)q̈d + 1 q̃˙T Ḋ(q)q̃˙ + q̃T Kp q̃˙
2

sin embargo se sabe que C (q, q̇) q̃˙ = C (q, q̇) q̇ − C (q, q̇) q̇d , lo cual implica que la
matriz de fuerzas centrı́petas y de Coriolis puede ser expresada de la siguiente for-
ma:
C (q, q̇) q̇ = C (q, q̇) q̃˙ +C (q, q̇) q̇d
por lo que (2.45) puede ser reescrita de la siguiente forma:
£ ¤ 1
V̇ (x) = q̃˙T τ −C (q, q̇) q̃˙ −C (q, q̇) q̇d − G(q) − q̃˙T D(q)q̈d + q̃˙T Ḋ(q)q̃˙ + q̃T K p q̃˙
2
está ultima ecuación da pauta para un diseño más especifico, como se presenta a
continuación:
V̇ (x) = q̃˙T τ − q̃˙T C (q, q̇) q̃˙ − q̃˙T C (q, q̇) q̇d − q̃˙T G(q) − q̃˙T D(q)q̈d
+ 21 q̃˙T Ḋ(q)q̃˙ + q̃T K p q̃˙
= q̃˙T τ· − q̃˙T C (q, q̇) q̇d −¸q̃˙T G(q) − q̃˙T D(q)q̈d
1 (2.46)
+ q̃˙T Ḋ(q) −C (q, q̇) q̃˙ +q̃˙T K p q̃
2
| {z }
propiedad de anti−simetria
= q̃˙T [τ − D(q)q̈d −C (q, q̇) q̇d − G(q) + K p q̃]

como en los controladores anteriores, está función candidata a ser Lyapunov no tiene
una estructura especı́fica, por lo que la aproximamos a la función deseada (2.40), y
obviamente se reduce a lo siguiente:

V̇ (x) = −q̃˙T Kd q̃˙ = q̃˙T [τ − D(q)q̈d −C (q, q̇) q̇d − G(q) + K p q̃]

la entrada de control o el par que hace que se cumpla la ecuación anterior es:

τ = D(q)q̈d +C (q, q̇) q̇d + G(q) − K p q̃ − Kd q̃˙ (2.47)

donde esté control es mejor conocido como controlador par calculado PD (ver Figu-
ra 2.16). La ley de control (2.47) representada en la Figura 2.16 al aplicarse sobre el
2. Control Basado en Pasividad 57

sistema cuyas dinámicas son dadas por (2.34), con K p = 0.5, y Kd = 0.4, genera los
siguientes resultados experimentales.

Posición articular (Primer eslabón) Señal de error (Primer eslabón)


Posición[rad]
0.3 Pos. Phantom
Pos. Deseada

Error[rad]
0.25 1
0.2 0
0.15 −1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error (Segundo eslabón)
Pos. Phantom
Posición[rad]

0.07 Pos. Deseada 0.5

Error[rad]
0.06 0
−0.5
0.05 −1
−1.5
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error (Tercer eslabón)
0.25 Pos. Deseada
Posición[rad]

Error[rad]
0.2 1

0.15 0

0.1 −1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.17 Estados del robot ante control Par-calculado.

Señal de control (Primer eslabón)


Trayectoria en el espacio de trabajo (X vs Y)
0.2
0
Par[Nm]

px−py−pz Deseada
−0.2 X−Y−Z Real
−0.4 0.02

0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)
Y−PY[m]

0.3
Par[Nm]

0.2 0.01
0.1
0
−0.1
0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0
0.2 0.05
Par[Nm]

−0.01 0.04
0 0.03
−0.02 0.02
−0.2
0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria en el espacio de trabajo.

Figura 2.18 Control Par-calculado.

De los resultados experimentales dados por el dispositivo se puede verificar que


la señal de control (2.47) en la que su estructura es la de un controlador con retroa-
limentación dinámica, esta parece tener un mejor desempeño que el controlador
PD con compensación de gravedad, esto porque compensa todas las dinámicas, la
desventaja de este tipo de controladores, es que se requiere de un conocimiento
previo del modelo dinámico del sistema, pero su eficiencia no es cuestionable, esto
puede verse al comparar los resultados con el controlador anterior.
Como se puede ver en la Figura 17(b), el error articular tiende a ser cero mientras
que la señal de control en la Figura 18(a) compensa de forma eficiente las dinámicas,
58 J. P. Ordaz-Oliver et al.

por lo tanto la trayectoria realizada por la plataforma experimental se aproxima a la


trayectoria propuesta (2.35), ver Figuras 18(b) y 17(a).

Comentario 2.2. Como se puede ver en la configuración de estos controles, con una
simple modificación de estos se puede llegar al controlador propuesto por Slotine-
Li,9 es decir, introducir un error dinámico S ∈ Rn×1 de la forma S = q̇ − q̇r donde
q̇r = q̇d − α q̃, q̃ = q − qd , entonces:

S = q̇ − q̇r ,
q̇r = q̇d − α q̃,
q̃ = q − qd , ∴ S = q̇ − q̇d + α q̃

Por lo tanto los controladores (2.44) y (2.47) puede reescribirse de la siguiente for-
ma:
τ = G(q) − Kd S
(2.48)
= D(q)q̈d +C (q, q̇) q̇d + G(q) − Kd S
Ya que la segunda ecuación de (2.48) presenta cierta estructura, entonces se puede
hacer una factorización especial en la que los parámetros estén desacoplados de las
dinámicas (como lo sugiere la propiedad 2.3), por lo que la siguiente factorización
es viable:
Yd (q, q̇, q̇d , q̈d ) Φ = D(q)q̈d +C (q, q̇) q̇d + G(q). (2.49)
dejando el control de la forma:

τ = Yd (q, q̇, q̇d , q̈d ) Φ − Kd S (2.50)

Posición articular (Primer eslabón) Señal de error (Primer eslabón)


0.4 Pos. Phantom 0.1
Posición[rad]

Pos. Deseada
Error[rad]

0.2 0

0 −0.1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error (Segundo eslabón)
Pos. Phantom
Posición[rad]

0.2 0.1
Pos. Deseada
Error[rad]

0.1 0

0 −0.1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error (Trecer eslabón)
0.4 Pos. Deseada 0.2
Posición[rad]

Error[rad]

0.2 0

0 −0.2
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.19 Estados del robot ante control Slotine-Li.

9I.e. simplemente con cambiar la matriz de ganancias α ∈ Rn×n con el producto matricial Kd−1 K p ∈
Rn×n sobre los controladores (2.44) y (2.47)
2. Control Basado en Pasividad 59
Señal de control (Primer eslabón)
Trayectoria en el espacio de trabajo (X vs Y)
10

Par[Nm]
X−Y−Z Real
0 px−py−pz Deseada
0.03
−10
0 2 4 6 8 10
Tiempo [seg] 0.02
Señal de control (Segundo eslabón)
10

Y−PY[m]
Par[Nm]
0.01
0

−10 0
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) −0.01
4
0.02
0.06
Par[Nm]

2 0
0.04
0 −0.02
0.02
−0.04
−2 Z−PZ[m] 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria sobre el espacio de trabajo.

Figura 2.20 Control Slotine-Li.

Lo anterior indica que el controlador de Slotine-Li una aproximación dada por


un cambio sobre el análisis realizado. Por lo tanto al proponer una ganancia de
control Kd = 0.8. De la transformación propuesta del controlador PD al controlador
Slotine-Li con Kd propuesta, se obtienen los siguientes resultados experimentales.
Como se puede observar en la Figura (19(b)) el error es mucho menor que en el
par calculado, esto se debe a que las ganancias están sintonizadas de forma conjunta
como se presenta en la observación 2.2. Por lo tanto el desempeño del seguimiento
de la trayectoria mejora bastante respecto a los controladores anteriores (ver Figuras
20(b) y 19(a)).

2.6. Control de estructura variable y control adaptable

Como se pudo apreciar en la sección 2.5.1 el diseño de controladores basados


en propiedades dinámicas, en pasividad y en la teorı́a de estabilidad de Lyapunov,
implica un proceso de análisis no muy complejo, y de cierto modo sencillo. Sin
embargo esté resultado da inicio para la elaboración de controladores con estructura
más compleja, el cual involucre ciertas dinámicas para una compensación de no
linealidades mas eficiente. En años recientes la aproximación de controladores con
dinámica de modos deslizantes ha sido explotada, pero existe un problema sobre
el diseño de los mismos, y el problema sobre diseño es que no toman en cuenta la
indeterminación a la que está sometida, es decir, no se toma la función signo tal
cual: 
x < 0 −1
sgn(x) = x = 0 singularidad (2.51)

x>0 1
sin embargo numéricamente esta función es aproximada por una función hiperbóli-
ca, por la siguiente propiedad:
60 J. P. Ordaz-Oliver et al.

lı́m tanh (β x) ≈ sgn (x)


β →∞

esto implica un gran problema (desde el punto de vista de estabilidad en el sentido de


Lyapunov) ya que la función es discontinua en el origen. Por lo que en está sección
se diseña esté tipo de controladores desde el punto de estabilidad de Lyapunov. Por
tal razón, primero se hace una breve descripción de las propiedades de las funciones
hiperbólicas.

2.6.1. Propiedades de las funciones hiperbólicas

Definición 2.18. Las funciones trigonométricas hiperbólicas son definidas en x ∈ R


por las siguientes ecuaciones:
∆ ex −e−x
sinh (x) = 2
∆ x −x
cosh (x) = e +e 2
∆ x −x (2.52)
tanh (x) = eex −e
+e−x
∆ 1
sec h (x) (x) = cosh(x)

para dar una explicación más apropiada a estas funciones, las mismas están repre-
sentadas por la Figura 2.21.

f(x)=sinh(x) f(x)=cosh(x)
100 80

50 60

40
f(x)

f(x)

0
20
−50
0
−100
−5 0 5 −5 0 5
x x
f(x)=tanh(x) f(x)=sech(x)
2 1.5

1 1
f(x)

f(x)

0 0.5

−1 0

−2 −0.5
−5 0 5 −5 0 5
x x

Figura 2.21 Funciones hiperbólicas.

Las funciones trigonométricas hiperbólicas tienen ciertas propiedades, las cuales


son aprovechadas para análisis de estabilidad, para el caso de estudio serán apro-
2. Control Basado en Pasividad 61

vechadas sobre el diseño, en este capı́tulo solo se hará mención de algunas de las
propiedades más importantes:

Propiedad 2.9. Las funciones hiperbólicas tienen las siguientes propiedades:


El seno hiperbólico es exponencialmente creciente, además cumple con la si-
guiente propiedad:
senh(x) = 0 ⇔ x = 0
|senh(x)| > 0, x∀ 6= 0.
El coseno hiperbólico es no radialmente acotado y definido positivo, lo cual im-
plica
cosh(x) ≥ 1, x∀ ∈ R
La tangente hiperbólica es radialmente acotada, además:

tanh(x) = 0, ⇔ x = 0.

La combinación de funciones hiperbólicas con otras funciones es muy intere-


sante, por ejemplo las siguientes combinaciones:
ln (cosh(x)) x ∈ R, es definida positiva, ln (cosh(x)) = 0 para x = 0.
x tanh(x), x ∈ R, es definida positiva, tanh(x) = 0 para x = 0.
Además es bien conocido que las derivadas temporales de estas funciones son
determinadas de la siguiente forma:
dsenh(x)
dt = cosh(x)
d cos h(x)
dt = senh(x)
d sec h(x)
dt = −sech(x) tanh(x)
d tan h(x)
dt = sech2 (x)
d ln[cosh(x)]
dt = tanh(x)

De las definiciones y propiedades de funciones hiperbólicas, se puede hacer una


conjunción con el diseño de control mediante análisis de Lyapunov como en la sec-
ción 2.5.1, de tal manera que se puede obtener un controlador no lineal como se
presenta a continuación.

2.6.2. Controlador por modos deslizantes de primer orden

Como en la sección anterior, el primer paso se propone una función de error y


una función candidata a ser Lyapunov como la que se propone en la sección 2.5.1,
por lo tanto el análisis será el mismo, sin embargo la clave para encontrar una un
controlador de tipo deslizante es al forzar el sistema a ser una función de Lyapunov,
62 J. P. Ordaz-Oliver et al.

es decir, cuando V̇ (x) es implementado como función semi-definida negativa, y para


el caso de estudio se propone una función con la siguiente forma:
£ ¤
V̇ (x) = −q̃˙T Kd q̃˙ + KL tanh (q̃) (2.53)

por lo tanto al inducir en (2.43) y (2.46) se obtienen los siguientes resultados:


1 1
V (x) = q̃˙T D(q)q̃˙ + q̃T K p q̃
2 2
en la que su derivada será la siguiente:
£ ¤
V̇ (x) = −q̃˙T £Kd q̃˙ + KL tanh (q̃)¤
= −q̃˙T Kd q̃˙ + KL tanh (q̃) = q̃˙T [τ − G(q) + K p q̃]
y
£ ¤
V̇ (x) = −q̃˙T £Kd q̃˙ + KL tanh (q̃)¤
= −q̃˙T Kd q̃˙ + KL tanh (q̃) = q̃˙T [τ − D(q)q̈d −C (q, q̇) q̇ − G(q) + Kp q̃]

entonces los controladores que hacen que se cumplan las dos ecuaciones anteriores
serán los siguientes:

τ = −K p q̃ − Kd q̃˙ − KL tanh (q̃) + G(q) (2.54)


= −K p q̃ − Kd q̃˙ − KL tanh (q̃) + D(q)q̈d +C (q, q̇) q̇d + G(q) (2.55)

Por el tipo de dinámica que se presenta dentro de la ley de control (2.54) y (2.55),
se dice que la aproximación de estos es relativa a la de controladores de estructura
variable o mejor conocidos como Modos Deslizantes de primer orden.
Sin embargo los controladores desarrollados tienen la ventaja que no tienen in-
determinación en el origen, dando ası́ un desarrollo más suave sobre el efecto de
chattering que se presenta dentro de este tipo de controladores, ya que en este caso
β = 1 a diferencia de la aproximación de β → ∞ que se hace comúnmente para
suplir la función signo.
Para la realización experimental, se propone aplicar las formas del controlador
tipo deslizante, i.e. el controlador que contiene la dinámica completa más la estruc-
tura variable (2.55), y el controlador deslizante simple (2.54), proponiendo ganan-
cias KL = 1.1diag(3) y Kd = diag(3), se obtiene lo siguiente.
En la Figura 23(a) se puede ver como el error del controlador simple de estructura
variable se aproxima a cero, i.e. las dinámicas del controlador por tipo deslizante
siguen la trayectoria propuesta de forma eficiente 23(b), sin embargo se produce
el efecto de chattering o cacheteo que es propio de los controladores de estructura
variable, haciendo que el control oscile en cierto intervalo, este efecto puede ser
visto en las Figuras 22(b), 22(a), 23(a).
Como se puede ver en la Figura 25(a) se observa el efecto del controlador de
estructura variable con compensación de la dinámica completa, ası́ como en los
resultados obtenidos del controlador deslizante simple, en la Figura 24(b), se puede
2. Control Basado en Pasividad 63
Posición articular (Primer eslabón) Señal de error (Primer eslabón)
Pos. Phantom 2

Posición[rad]
0.25 Pos. Deseada

Error[rad]
0
0.2

0.15 −2
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error (Segundo eslabón)
Posición[rad] Pos. Phantom
0.07
Pos. Deseada

Error[rad]
2
0.06 1
0
0.05 −1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error (Tercer eslabón)
Pos. Deseada
2
Posición[rad]

0.2

Error[rad]
0.15 0

0.1 −2
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.22 Estados del robot ante control (deslizante primer orden simple).

Señal de control (Primer eslabón)


Trayectoria en el espacio de trabajo (X vs Y)
0.6
0.4
Par[Nm]

px−py−pz Deseada
0.2 X−Y−Z Real
0 0.02

0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)
Y−PY[m]

0.2
Par[Nm]

0 0.01
−0.2
−0.4
−0.6
0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0
0.5 0.05
Par[Nm]

−0.01 0.04
0 0.03
−0.02 0.02
−0.5 0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria en el espacio de trabajo.

Figura 2.23 Control deslizante primer orden simple.

ver el efecto de chattering o cacheteo que es propio de este tipo de controles, y las
Figuras 25(b), y 24(a) se muestra como el la trayectoria descrita por el manipulador
se aproxima a la trayectoria deseada, sin embargo el comportamiento es mucho
mejor que su antecesor.

2.6.3. Controlador por modos deslizantes de segundo orden

Como se puede observar el la sección 2.6.2, la obtención de un controlador apro-


ximado a modos deslizantes, puede ser obtenida mediante una simple variación so-
bre la función de Lyapunov deseada, pero para el caso en que la se desea obtener
una aproximación a modos deslizantes de segundo orden es necesaria una función
candidata a ser Lyapunov que tenga una estructura diferente.
64 J. P. Ordaz-Oliver et al.
Posición articular (Primer eslabón) Señal de error (Primer eslabón)
Pos. Phantom

Posición[rad]
0.25 Pos. Deseada 5

Error[rad]
0.2 0

0.15 −5
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error (Segundo eslabón)
Posición[rad] Pos. Phantom
Pos. Deseada 1

Error[rad]
0.06 0.5
0
−0.5
0.04
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error (Tercer eslabón)
Pos. Deseada
0.25 4
Posición[rad]

Error[rad]
0.2 2

0.15 0
−2
0.1
−4
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.24 Estados del robot ante control (deslizante primer orden).

Señal de control (Primer eslabón)


Trayectoria en el espacio de trabajo (X vs Y)
1
Par[Nm]

px−py−pz Deseada
0
X−Y−Z Real
−1
0.02

0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)
0.2
Y−PY[m]
Par[Nm]

0 0.01
−0.2
−0.4 0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0
0.5 0.05
Par[Nm]

−0.01 0.04
0 0.03
−0.02 0.02
−0.5
0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria en el espacio de trabajo.

Figura 2.25 Control deslizante primer orden completo.

En está sección se pretende hacer dicha aproximación por lo que se requiere


definir la variable la cual involucre el segundo orden, como se vio en la sección
2.5.1 con un simple cambio sobre la estructura del controlador se puede llegar a la
dinámica propuesta por Slotine-Li, dando lugar a una nueva variable llamada S, y es
definida en la observación 2.2.
Siguiendo con el análisis como primer paso se propone una función candidata a
ser Lyapunov de la forma siguiente:
1
V (x) = ST D(q)S (2.56)
2
como se menciono anteriormente, S denota el error dinámico S = q̇ − q̇r , q̇r =
q̇d − α q̃ y q̃ es una función de error, donde q̃ = q − qd , qd es la posición deseada.
Para saber si (2.54) es una función de Lyapunov, se procede a obtener su derivada
temporal, en este caso de estudio x define la variable de error extendido S, obtenien-
2. Control Basado en Pasividad 65

do:
1 1 1 1
V̇ (x) = ṠT D(q)S + ST D(q)Ṡ + ST Ḋ(q)S = ST D(q)Ṡ + ST Ḋ(q)S (2.57)
2 2 2 2
de una extensión para el seguimiento de trayectorias, Slotine-Li maneja la siguiente
propiedad en pasividad de la dinámica del error:

D(q)Ṡ + [C(q, q̇) + Kd (q, q̇)] S = 0 (2.58)

donde Kd (q, q̇) = Kd (q, q̇)T > 0 es una matriz de inyección de amortiguamiento.
Basados en está propiedad y la propiedad de anti-simetrı́a se tiene el siguiente lema:

Lema 2.1. La ecuación diferencial:

D(q)Ṡ + [C(q, q̇) + KD (q, q̇)] S = Ψ (2.59)

donde D(q) y KD son matrices definidas positivas, C(q, q̇) satisface (2.58) y define
una salida estrictamente pasiva ∑d : Ψ 7→ S. Consecuentemente, si Ψ ≡ 0 se tiene
S ∈ L2 .

Con el lema anterior y las propiedades de la dinámica del error se puede obtener un
control basado en pasividad y estabilidad en el sentido de Lyapunov, entonces:

D(q)Ṡ = Ψ − [C(q, q̇) + Kd ] S (2.60)

donde Ψ es la parametrización del sistema de la siguiente forma:

Ψ = τ − (D(q)q̈r +C(q, q̇)q̇r + G(q) + F(q̇))


(2.61)
= Yr (q, q̇, q̇r , q̈r )Φ − τ

donde q̇r y q̈r son referencias nominales. Ası́, introduciendo (2.61), (2.60) en (2.57)
se obtiene el siguiente resultado:
1
V̇ (x) = ST [τ −Yr (q, q̇, q̇r , q̈r )Φ −C(q, q̇)S + Kd S] − ST Ḋ(q)S (2.62)
2
1
V̇ (x) = ST [τ −Yr (q, q̇, q̇r , q̈r )Φ − Kd S] −ST C(q, q̇)S + ST Ḋ(q)S (2.63)
| {z 2 }
propiedad de anti−simetria

ası́ (2.61) se reduce a la siguiente expresión:

V̇ (x) = ST τ − ST Yr (q, q̇, q̇r , q̈r )Φ − ST Kd S (2.64)

si se desea que la función de Lyapunov tenga la siguiente configuración:

V̇ (x) = −ST KD S (2.65)

entonces el control τ de (2.64) que cumple con (2.65) es el siguiente:


66 J. P. Ordaz-Oliver et al.

τ = Yr (q, q̇, q̇r , q̈r )Φ − Kd S (2.66)

donde la matriz de ganancias de control KD por definición tendrá que ser mayor que
la matriz Kd .
Ahora bien, si se tiene una configuración más completa del cambio de variable que
hace Slotine-Li, entonces se puede aproximar un controlador tipo modos deslizastes
de la siguiente forma. Por lo tanto si tomamos la función candidata a ser Lyapunov,
y la aproximamos a una función de la siguiente forma:

V̇ (x) = −ST [KD S + KL tanh(S)] ≤ 0 (2.67)

donde KL es una matriz estrictamente definida positiva y simétrica, entonces el par


o las entradas de control que cumplen con (2.67) será el siguiente:

τ = Yr (q, q̇, q̇r , q̈r )Φ − Kd S − KL tanh(S) (2.68)

por lo tanto se obtiene una aproximación a un controlador de modos deslizante ya


que ( lı́m tanh (β x) ≈ sgn (x)), en el caso en que se desea obtener la aproximación
β →∞
a un controlador PID-no lineal, como se ha mostrado en esté trabajo, simplemente
se cambia la derivada de función de Lyapunov deseada, para este caso se propone
lo siguiente:
V̇ (x) = −ST [KD S + KL ln (cosh(S))] (2.69)
Cumpliendo con el procedimiento que hasta el momento se ha manejado, el control
que cumple con está función es el siguiente:

τ = Yr (q, q̇, q̇r , q̈r )Φ − Kd S − Ki ln (cosh(S)) (2.70)

donde Ki es una matriz estrictamente definida positiva y simétrica. Para el caso de


experimental se propone una matriz de diagonal con Ki = 0.5 y Kd = 0.8, al aplicar
los controladores (2.68) y (2.70) se obtienen los siguientes resultados.
Como puede verse en la Figura 26(b) el error tiende a cero, mientras la señal
de control compensa las dinámicas llevando a la posición real sobre la trayectoria
deseada (Figuras 26(a) y 27(b)), lo cual implica que el controlador tiene un buen
desempeño para el seguimiento de trayectorias. De acuerdo con la estructura del
controlador de estructura variable anterior o también denominado como controlador
por modos deslizantes de segundo orden, se puede observar que su desempeño,
en comparación al primer orden, es mejor ya que como se puede observar en las
señales de error, posición y control, este controlador es libre de chattering, dando
una ventaja sobre su predecesor.
Los efectos que se mencionan pueden verse directamente al comparar las Figuras
25(a) con 27(a), 24(b) con 26(b), 25(b) con 27(b), y 24(a) con 26(a), donde se pre-
sentan los resultados obtenidos de ambas ecuaciones de control (modos deslizantes
de primer orden completo, y modos deslizantes de segundo orden).
Como se puede apreciar el controlador con estructura tipo PID-No lineal (2.70)
tiene un excelente desempeño sobre el espacio de trabajo del manipulador, además,
2. Control Basado en Pasividad 67
Posición articular (Primer eslabón) Señal de error extendido (Primer eslabón)
Pos. Phantom

Posición[rad]
Pos. Deseada 1.5
0.25

Error[rad]
1
0.5
0.2 0
−0.5
0.15
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error extendido (Segundo eslabón)
Posición[rad] Pos. Phantom
1
Pos. Deseada

Error[rad]
0.06 0
−1
0.04
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error extendido (Tercer eslabón)
Pos. Deseada 1
Posición[rad]

Error[rad]
0.2 0.5

0.15 0
−0.5
0.1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.26 Estados del robot ante control (deslizante primer orden).

Señal de control (Primer eslabón)


Trayectoria en el espacio de trabajo (X vs Y)
0.4
Par[Nm]

0.2 px−py−pz Deseada


0 X−Y−Z Real
−0.2
−0.4 0.02

0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)
Y−PY[m]

0.4
Par[Nm]

0.01
0.2
0
−0.2
0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0
0.1
0.05
Par[Nm]

−0.01 0.04
0
0.03
−0.02 0.02
−0.1
0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria en el espacio de trabajo.

Figura 2.27 Control por modos deslizantes de segundo orden.

ya que es un controlador de estructura variable al igual que el control (2.68).

En la Figura 29(a) se observa como el control compensa las dinámicas si una


señal de control grande, en las Figuras 29(b), 28(a), y 28(b) se observa como el
control converge a la trayectoria deseada en un tiempo relativamente pequeño.

2.6.4. Controladores con estructura adaptable

Como se puede ver en la sección (2.6.3), la aproximación al controladores con la


estructura de Slotine-Li es dada por la función de Lyapunov (2.56), para el caso de
diseño en el que no se conocen los parámetros de la matriz de regresión, para la cual
es necesario un algoritmo de estimación de los parámetros desconocidos “un control
68 J. P. Ordaz-Oliver et al.
Posición articular (Primer eslabón) Señal de error extendido (Primer eslabón)
Pos. Phantom
0.25

Posición[rad]
Pos. Deseada 2

Error[rad]
0.2 0
−2
0.15
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Posición articular (Segundo eslabón) Señal de error extendido (Segundo eslabón)
Posición[rad] Pos. Phantom
Pos. Deseada

Error[rad]
0.5
0.06 0
−0.5
0.04 −1
−1.5
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]
Pos. Phantom
Posición articular (Tercer eslabón) Señal de error extendido (Tercer eslabón)
0.25 Pos. Deseada
2
Posición[rad]

Error[rad]
0.2 0
0.15 −2
0.1 −4

0 2 4 6 8 10 0 2 4 6 8 10
Tiempo[seg] Tiempo[seg]

(a) Estados del robot. (b) Señal de error.

Figura 2.28 Estados del robot ante control (deslizante primer orden).

Señal de control (Primer eslabón)


Trayectoria en el espacio de trabajo (X vs Y)
2
Par[Nm]

px−py−pz Deseada
1
X−Y−Z Real
0
0.02

0 2 4 6 8 10
Tiempo [seg] 0.015
Señal de control (Segundo eslabón)
Y−PY[m]

0.6
Par[Nm]

0.4 0.01
0.2
0
0.005
0 2 4 6 8 10
Tiempo [seg]
Señal de control (Tercer eslabón) 0
0
1 0.05
Par[Nm]

−0.01 0.04
0.5 0.03
−0.02 0.02
0 0.01
Z−PZ[m] −0.03 0
0 2 4 6 8 10 X−PX[m]
Tiempo [seg]

(a) Señal de control. (b) Trayectoria sobre el espacio de trabajo.

Figura 2.29 Control (PID-No lineal).

adaptable”, en el cual la salidas del sistema mantengan la referencia deseada. Con el


fin de estimar los parámetros desconocidos se define Φ̃ (t) = Φ̂ (t) − Φ (t) como el
error de los parámetros de estimación. Para dicho caso es necesario considerar una
función de Lyapunov con la siguiente estructura:
1 1
V (x) = ST D(q)S + Φ̂ (t)Θ −1 Φ̂ (t) (2.71)
2 2
donde Θ es una matriz definida positiva, ya que (2.71) es una función semi definida
positiva, si se sigue con el algoritmo de diseño propuesto, entonces la derivada de
esta función se aproxima a:
1 1 1
V̇ (x) = ST D(q)Ṡ + ST Ḋ(q)S + Φ̂˙ (t)Θ −1 Φ̂ (t) + Φ̂ (t)Θ −1 Φ̂˙ (t) (2.72)
2 2 2
2. Control Basado en Pasividad 69

Al aplicar propiedades de matrices definidas positivas y simétricas, la solución de


(2.72), se reduce a:
1
V̇ (x) = ST D(q)Ṡ + ST Ḋ(q)S + Φ̂˙ (t)Θ −1 Φ̂ (t) (2.73)
2
como en la sección 2.6.3, se aplica la propiedad de antisimetrı́a sobre (2.73), y si-
guiendo con el algoritmo se encuentra lo siguiente:
£ ¤
V̇ (x) = ST τ −Yr (q, q̇, q̇r , q̈r )Φ̂ − Kd S + Φ̂˙ (t)Θ −1 Φ̂ (t) (2.74)

como se puede ver en (2.74), para seguir con el algoritmo de diseño que se ha
manejado hasta el momento es necesario que en la parte derecha de la ecuación (el
término que involucra Φ̂˙ (t)Θ −1 Φ̂ (t)) se encuentre el error extendido S, entonces
se requiere que la variación del parámetro de adaptación Φ̂˙ (t) tenga una estructura
especifica la cual involucre el error extendido y como se desea que la estructura de
la función de Lyapunov se mantenga de la forma (2.65), entonces se debe cumplir
lo siguiente:
Φ̂˙ (t) = −Θ YrT S (2.75)
por lo tanto, la función (2.74) se reduce a la siguiente expresión:
£ ¤
V̇ (x) = ST τ −Yr (q, q̇, q̇r , q̈r )Φ̂ − Kd S − Θ YrT SΘ −1 Φ̂ (t)

al aplicar la propiedad vectorial xT y = yT x sobre la ecuación anterior se dice que


YrT S = ST Yr , además como Θ es una matriz definida positiva y simétrica, entonces
Θ YrT S = ST YrΘ , y la derivada de la función de Lyapunov se reduce a lo siguiente:
£ ¤
V̇ (x) = ST £τ −Yr (q, q̇, q̇r , q̈r )Φ̂ − Kd S − ST YrΘΘ
¤
−1 Φ̂ (t)

= S τ −Yr (q, q̇, q̇r , q̈r )Φ̂ − Kd S −Yr Φ̂ (t)


T

por lo tanto, para que se cumpla con la condición de que la derivada de la función de
Lyapunov sea semi-definida negativa, es necesario que la ley de control en lazo ce-
rrado, elimine las dinámicas no deseadas, y para obtener el mismo resultado que en
la sección 2.6.3, i.e que V̇ (x) = −ST KD S, la ley de control se escribe de la siguiente
forma:
τ = Yr (q, q̇, q̇r , q̈r )Φ̂ (t) − KL S (2.76)
como se puede observar, la ley de control (2.76) en lazo cerrado indica estabilidad
asintótica.

Comentario 2.3. De la ley de control adaptable (2.76) con la actualización de pa-


rámetros (2.75), puede tener otras estructuras, en la que se involucren dinámicas no
lineales, como se presento en secciones anteriores, por lo cual si se desea que la
derivada de la función de Lyapunov se aproxime a las ecuaciones (2.68) y (2.69),
entonces los controladores adaptables para estás funciones serán descritos por:
70 J. P. Ordaz-Oliver et al.

τ = Yr (q, q̇, q̇r , q̈r )Φ̂ (t) − KL S − KL tanh(S)


= Yr (q, q̇, q̇r , q̈r )Φ̂ (t) − KL S − Ki ln cosh(S)

que al igual que la estructura del controlador (2.76), estos también presentan la
propiedad de estabilidad asintótica.

2.6.5. Bosquejo de estabilidad

El teorema de invarianza de LaSalle dice que toda solución iniciada en Ω se


aproxima a M cuando t → ∞. Esto implica que el conjunto Γ , si V̇ (x) = 0 indica que
S = 0 y que los términos de V (x) sean constantes. Dado que el sistema (2.18) con ley
de control (2.66) lleve al error dinámico S → 0 cuando t → ∞, entonces el conjunto
invariante más grande M es la trayectoria deseada en qd + ε , donde |ε | < ε ? con
ε ? arbitrariamente pequeña, entonces toda solución converge al conjunto invariante
más grande M, y la dinámica de error del sistema S converge al conjunto invariante
M. dado que V (x) involucra dos casos, V (x) = 0 y V (x) 6= 0, en está sección se
dará la solución a cada uno.
1. Si V 6= 0 implica,
1
V (x) = ST D(q)S. (2.77)
2
donde S = q̇ − q̇r 6= 0, y q̇r = q̇d − α q̃, esto implica que S = q̇ − q̇d + α q̃ 6= 0,
y dado que q̇ − q̇r son trayectorias de error, y por el teorema 2.5 se concluye
que q̇ − q̇r = 0 esto indica q̃ = q − qd = 0, entonces la posición y la velocidad
convergen a las deseadas, por lo que el sistema converge al conjunto invariante
M. Para esto es suficiente que se cumpla con mostrar que V̇ (x) → 0 cuando t → ∞
lo cual indica que S → 0 cuando t → ∞

V̇ (x) → 0 ⇒ S → 0
Ya que V (x) es definida positiva, entonces el lema de Barbalat [7] indica que V̈ (x)
tiende a cero si esta es uniformemente continua, en particular esto se cumple ya
que:
dV̇ (x) T T
dt = −S KD Ṡ − Ṡ KD S
T
= −2S Kd Ṡ
lo cual involucra que se cumple con lo siguiente:

(S y Ṡ acotada) ⇒ V̈ (x) acotada ⇒ V̇ (x) → 0

entonces S → 0
como V̇ (x) y V (x) son acotadas, esto implica que S es acotada. Después, esto
implica que q, q̇ son todas acotadas. Ası́ S → 0 y t → ∞, implican que q̃, y q̇r → 0
cuando t → ∞, por lo tanto
2. Control Basado en Pasividad 71

S = q̃˙ + α q̃
Entonces:
q̃˙
q̃˙ + α q̃ = 0 ⇒ q̃˙ = −α q̃, = −α

Al resolver está ecuación diferencial se obtiene:
Z Z
d q̃
= −α dt, ln q̃ = −α t + c ⇒ q̃ = ce−α t

entonces, cuando t = 0, q̃ = C y t → ∞, q̃ → 0 ⇒ s → 0.
2. Si V (x) = 0, entonces se tiene que:

1
V (x) = ST D(q)S = 0. (2.78)
2
para todo ε > 0, kzk < r, β ∈ (0, ζ ], donde r ∈ (0, ε ], ζ = maxV (x)kzk=r . Entonces
el segundo método
£ de
¤ Lyapunov [7], para sistemas estables, y por hipótesis se
considera que D f V (z(t)) ≤ 0 (ver (2.56)), esto implica

V (z(t)) ≤ V (z(0)) ≤ β ,

para todo t ≥ 0. Esto indica que el conjunto M es invariante en V .


Ahora existe un ε > 0 tal que

kzk ≤ ε ⇒ V (z) < β

el cual implica que


kzk ≤ r ≤ ε ∀t ≥ 0

Con esto se puede concluir que la ley de control descrita por (2.66) es asintótica-
mente estable ya que la la función de error sobre la función de Lyapunov indica que
lı́m q̃(t) = lı́m [q(t) − qd (t)] = 0
t→∞ t→∞

2.7. Control sub-óptimo

En está sección se propone el diseño de un controlador basado en el principio


de optimabilidad de Hamilton-Jacobi-Bellman, el cual es conocido que se basa en
teorı́a de estabilidad de Lyapunov, por lo que para este análisis se considera la si-
guiente función de Lyapunov [8]:
· ¸
1 D(q) k
V (x̃) = x̃T Λ x̃, Λ = , (2.79)
2 k D(q)

donde k ∈ Rn×n es una matriz constante definida positiva, k = kT con la propiedad


λ máx (k) ≤ λ mı́n (D(q)), donde λ máx y λ mı́n son los valores propios máximo y
72 J. P. Ordaz-Oliver et al.

mı́nimo, respectivamente, asociados a una matriz, entonces V (x̃) ≥ 0, para la apro-


ximación se requiere ecuaciones de error, por lo que se propone que siga una refe-
rencia de posición articular de la forma qd (t), por lo que el problema en el diseño de
control es el calcular la derivada de la función de Lyapunov (2.79), tal que el sistema
en lazo cerrado converja a la trayectoria deseada, por lo que se define la siguiente
función de error: µ ¶
S
x̃ = x − xd = ˙ (2.80)

como en la sección 2.6.3, S = [S1 , S2 , ..., Sn ]T denota un error extendido S = q̇ − q̇r ,
q̇r = q̇d − α q̃ y q̃ es una función de error, donde q̃ = q−qd , qd es la posición deseada,
q̃˙ = q̇ − q̇d . La dinámica de error de un sistema EL puede ser obtenida de (2.18) y
(2.80) como un cambio de variable sobre las ecuaciones de error, por lo tanto la
derivada del la ecuación de error x̃ es dada por:
· ¸ · −1 ¸
˙x̃ = Ṡ = D (q) (τ −Yr Φ −C(q, q̇)S − Kd S)
(2.81)
q̃¨ D−1 (q) (τ −C(q, q̇)q̇ − G(q))

como se puede ver en (2.81) y si se aplica el lema 2.1, se obtiene el siguiente resul-
tado:
D(q)Ṡ = Ψ − [C(q, q̇) + Kd ] S (2.82)
donde Ψ son dinámicas del sistema:
Ψ = τ − (D(q)q̈r +C(q, q̇)q̇r + g(q))
(2.83)
= τ −Yr (q, q̇, q̇r , q̈r )Φ = τ −Yr Φ

donde q̇r y q̈r son referencias nominales. Entonces al aplicar el principio de progra-
mación dinámica (2.8), se requiere derivar (2.79), y se obtiene el siguiente resultado:
· ¸ · ¸ · ¸
dV (x̃) 1 T D(q) k 1 D(q) k 1 Ḋ(q) 0
= x̃ x̃˙ + x̃˙T x̃ + x̃T x̃
dt 2 k D(q) 2 k D(q) 2 0 Ḋ(q)

es decir: · ¸ · ¸
dV (x̃) D(q) k 1 Ḋ(q) 0
= x̃T x̃˙ + x̃T x̃
dt k D(q) 2 0 Ḋ(q)
introduciendo (2.80) y (2.81) en la ecuación anterior, se obtiene:
· T ¸T · ¸· ¸ · ¸ · ¸· ¸
dV (x̃) S D(q) k Ṡ 1 ST T Ḋ(q) 0 S
= ˙T +
dt q̃ k D(q) q̃¨ 2 q̃˙T 0 Ḋ(q) q̃˙

es decir:
dV (x̃) 1 1
= ST D(q)Ṡ + q̃˙T kṠ + ST kq̃¨ + q̃˙T D(q)q̃¨ + ST Ḋ(q)S + q̃˙T Ḋ(q)q̃˙ (2.84)
dt 2 2
y por propiedades de sistemas EL y de pasividad en la dinámica de error S, se obtiene
lo siguiente:
2. Control Basado en Pasividad 73

D(q)q̃¨ = τ −C(q, q̇)q̃˙ − G(q)


D(q)Ṡ = τ −Yr Φ −C(q, q̇)S − Kd S
entonces (2.84) puede ser reescrita como:

V̇ (x̃) = ST [τ −Yr Φ −C(q, q̇)S − Kd S] + q̃˙T kD−1


£ (q) (τ −Yr Φ −C(q,¤ q̇)S − Kd S)
+ST kD−1 (q) (τ −C(q, q̇)q̇ − G(q)) + q̃˙T τ −C(q, q̇)q̃˙ − G(q)
+ 12 ST Ḋ(q)S + 12 q̃˙T Ḋ(q)q̃˙

es decir:
£ ¡1 ¢ ¤
V̇ (x̃) = ST£ τ −Y ¡ r Φ + 2 Ḋ(q) −C(q,
¢ q̇) S ¤− Kd S
+q̃˙T τ + 12 Ḋ(q) −C(q, q̇) q̃˙ − G(q)
+q̃˙T kD−1 (q) (τ −Yr Φ −C(q, q̇)S − Kd S)
(2.85)
+ST kD−1 (q) (τ −C(q, q̇)q̇ − G(q))
dV (x̃)
dt = q̃ [τ − G(q)] + q̃ kD (q) (τ −Yr Φ −C(q, q̇)s − Kd S)
˙T ˙T −1
+S [τ −Yr Φ − Kd S] + ST kD−1 (q) (τ −C(q, q̇)q̇ − G(q))
T

al aplicar el principio de Hamilton-Jacobi-Bellman (2.7):


½ ¾
∂ dV (x̃)
+ f0 (x̃, τ ) = 0
∂τ dt

con el siguiente ı́ndice de desempeño:


f0 (x̃,u)
Z∞ ¡
z }| ¢{
J= τ Rτ dt
T

donde R ∈ Rn×n es una matriz simétrica y definida positiva, R = RT , se obtiene la


siguiente expresión:

ST + q̃˙T + q̃˙T kD−1 (q) + ST kD−1 (q) + τ T R = 0

si se aplica la propiedad vectorial, xT y = yT x, y propiedades de matrices simétricas,


entonces la ecuación anterior se reduce a lo siguiente:

S + q̃˙ + kD−1 (q)q̃˙ + kD−1 (q)S + Rτ = 0

entonces la ley de control puede ser encontrada al despejar τ , de la forma:


£ ¤
τ = −R−1 S + q̃˙ + kD−1 (q)q̃˙ + kD−1 (q)S (2.86)

al reducir esta ultima, se obtiene:


£¡ ¢ ¤
τ = −R−1 I + kD−1 (q) S p (2.87)
74 J. P. Ordaz-Oliver et al.

donde S p = [S p1 , S p2 , ..., S pn ]T denota una variante del error extendido S p = q̇ − q̇r +


q̃˙ = 2q̇ − q̇rd , q̇rd = 2q̇d − α∆ q y ∆ q es una función de error, donde ∆ q = q − qd , qd
es la posición deseada, q̃˙ = q̇ − q̇d .
Comentario 2.4. Al derivar nuevamente (2.87), la condición (2.11) se cumple10 para
la dinámica del sistema.
Proposición 2.1. Considere el sistema EL (2.18). Tomando la función de Lyapunov
(2.79), con una matriz estrictamente definida positiva Λ , entonces la solución del
sistema en lazo cerrado, con la ley de control (2.87) es asintóticamente estable para
el equilibrio deseado q̇ ≈ q̇d + ε , donde |ε | < ε ? y ε ? son muy pequeñas.
Demostración. Para demostrar que el sistema es asintóticamente estable es nece-
sario que se cumpla el teorema 2.5, entonces se tiene que demostrar que la derivada
de la función de Lyapunov sea semi-definida negativa, por lo tanto se requiere (2.85)
este en lazo cerrado con (2.87), por lo que se obtiene:
Q(x)
·z }| ¸{ · ¸
¸T ·
q̃˙T Q1 Q12 q̃˙
V̇ (x) = − T
¡ Ts Q12 Q2 s  (2.88)
s Yr Φ + q̃˙T G(q) + q̃˙T kD−1 (q)Kd s 
− +sT kD−1 (q)C(q, q̇)q̇ + sT kD−1 (q)G(q)¢ ϕ (x)

+q̃˙T kD−1 (q)Yr Φ + q̃˙T kD−1 (q)C(q, q̇)s

donde:
Q1 = R−1 + R−1 kD−1 (q) + kD−1 (q)R−1 kD−1 (q)
Q12 = Q1
Q2 = Q1 + Kd
como det(Q(x)) = Kd , entonces la condición suficiente para que se cumpla Q(x) > 0
es Kd > 0, la norma de la función Yr Φ en (2.88) es acotada superiormente, y con
algún escalar positivo de la forma βi (i = 0, 1..., 5) tal que [6]:

kD(q)k ≥ λm (D(q)) > β0 > 0


kD(q)k ≤ λM (D(q)) < β1 < ∞
kC(q, q̇)k ≤ β2 kq̇k (2.89)
kG(q)k ≤ β3
kE (q, q̇)k ≤ kK (q, q̇)k + kU (q)k ≤ β1 + β4 ≤ β5

acorde con el resultado para el controlador PID no lineal [14]:

Yr Φ ≤ kD(q)k
° °kq̈r k + k{Kd +C(q, q̇)}¡ q̇°r k°+ kG(q)k ¢
≤ β1¡α °q̃˙° + λ¢M (Kd ) + β2 kq̇k α °q̃˙° + β4 + γ kσ k + β̄3
≤ η q̃, q̃˙, σ , βi
¡ ¢
donde β̄3 = β1 β5 + β3 , y η q̃, q̃˙, σ , βi es un escalar. Acorde con la ecuación ante-
rior y (2.89) se obtiene:
10 ∂2
£ dV ¤
i.e. Tomando ∂ 2τ dt + f0 esto es cero.
2. Control Basado en Pasividad 75
¡ ¢ ° ° ° °
ϕ (x) ≤ ksk η q̃, q̃˙, σ , βi +°°q̃°˙° β3 + °q̃˙¡° ksk λM kβ¢0 ° °
+kqk ksk¡λM kβ0 β2 + °q̃˙°¢λM°kβ°0 η q̃, ° ˙°
¡ q̃, σ , βi +ksk¢λM kβ0 β3 + q̃ ksk λM kβ2
˙
˙ ° ˙ °
≤ ksk η2 q̃, q̃, σ , βi , λM k + q̃ η3 q̃, q̃, σ , βi , λM k
˙

se sabe que:
¡ ¢ ° ° ¡ ¢
ksk η2 q̃, q̃˙, σ , βi , λM k > °q̃˙° η3 q̃, q̃˙, σ , βi , λM k

entonces ¡ ¢
ϕ (x) ≤ ksk η2 q̃, q̃˙, σ , βi , λM k (2.90)
y se tiene que βi > 0 y λM Kd > 0, esto implica:
¡ ¢
V̇ (x) = − ksk2 λM Kd + ksk η2 q̃, q̃˙, σ , βi , λM k (2.91)
¡ ¢
entonces Kd es mayor que η2 q̃, q̃˙, σ , βi , λM k , y esto es una condición suficiente
para concluir que el sistema está en un conjunto compacto el cual involucra los
argumentos de Lyapunov, i.e. involucra V (x) y a su derivada V̇ (x), λM k < λm D(q)
tal que x̃ converge dentro de una vecindad ε > 0 con radio r > 0.

Para verificar el análisis previamente establecido en esta sección, al igual que en


secciones anteriores se propone aplicar el control (2.87) sobre la plataforma experi-
mental PHANToM premium 1.0. Para la realización experimental, la sintonización
del controlador£contempla que ¤ k < λm D(q), mientras que R sea la matriz diagonal
con elementos 0.5 0.6 0.7 .
Como se puede observar en la Figura 30(a), el control no requiere de esfuerzos
grandes para llegar a la referencia, mientras que la señal de error (Figura 30(b)) llega
a cero en un tiempo corto. Lo cual implica que la trayectoria desempeñada por el
manipulador converge a la trayectoria a seguir (Figura 30(c)).
La desventaja de este controlador es que se debe tener un conocimiento pre-
ciso de las dinámicas de inercia, esto se debe a que una de las ganancias tiene que
ser menor al mı́nimo valor propio de la matriz de fuerzas de inercia, sin embargo
en comparación con otros controladores, esté no requiere del conocimiento de la
dinámica completa (i.e. no requiere del conocimiento de las fuerzas centrı́petas y de
Coriolis, ası́ como de las fuerzas de fricción y gravedad).

2.8. Conclusiones

A través del análisis de control, los esquemas propuestos introdujeron diferentes


variantes en las leyes de control, ganancias, y caracterı́sticas que juegan un papel
importante en la sı́ntesis de un esquema apropiado para el control de sistemas con
dinámica EL, en particular aplicado a robots manipuladores.
En este capı́tulo se desarrollaron diferentes esquemas para el control de robots
manipuladores, los cuales a nivel experimental presentan la caracterı́stica de esta-
bilidad asintótica, este es un resultado muy alentador, ya que en diseño implica
76 J. P. Ordaz-Oliver et al.
Señal de control (Primer eslabón) Señal de error extendido (Primer eslabón)
1 2

Error[rad]
Par[Nm]
0
0 −2
−4
−1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo [seg] Tiempo[seg]
Señal de control (Segundo eslabón) Señal de error extendido (Segundo eslabón)
0.1

Error[rad]
0.5
Par[Nm]
0
−0.1 0
−0.2
−0.3 −0.5
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo [seg] Tiempo[seg]
Señal de control (Tercer eslabón) Señal de error extendido (Tercer eslabón)
2
0.2

Error[rad]
Par[Nm]

1
0
−0.2 0
−0.4 −1
0 2 4 6 8 10 0 2 4 6 8 10
Tiempo [seg] Tiempo[seg]

(a) Señal de control. (b) Señal de error.


Posición articular (Primer eslabón)
Trayectoria en el espacio de trabajo (X vs Y) Pos. Phantom
0.3

Posición[rad]
Pos. Deseada
px−py−pz Deseada 0.25
X−Y−Z Real
0.2
0.02
0.15
0 2 4 6 8 10
0.015 Tiempo[seg]
Posición articular (Segundo eslabón)
Pos. Phantom

Posición[rad]
Y−PY[m]

0.07 Pos. Deseada


0.01
0.06
0.05
0.005
0 2 4 6 8 10
Tiempo[seg]
Pos. Phantom
0 Posición articular (Tercer eslabón)
Pos. Deseada
0
Posición[rad]

0.05 0.2
−0.01 0.04
0.03 0.15
−0.02 0.02
0.01
−0.03 0 0.1
Z−PZ[m] X−PX[m] 0 2 4 6 8 10
Tiempo[seg]

(c) Trayectoria. (d) Estados del robot.

Figura 2.30 Resultados control sub-óptimo.

estabilidad en el sentido de Lyapunov, con la combinación de propiedades dinámi-


cas, i.e. con la propiedad de pasividad que es inherente de los sistemas con dinámica
EL, inyectar estabilidad en el sentido de Lyapunov, lo cual genera una herramienta
poderosa de diseño, de alguna manera la metodologı́a empleada permite liberar de
energı́a remanente a un sistema EL e inducir estabilidad asintótica. Ya que el pre-
sente diseño no solo caracteriza controladores clásicos en el control de robots ma-
nipuladores (como el PD+G, el control par calculado, y el control Slotine-Li), si no
que agrega una ventaja la cual puede ser vista en la aproximación a controladores
con estructura variable (como el controlador tipo modos deslizantes de primer y
segundo orden, etc), además motiva para el uso de propiedades dinámicas en el
desarrollo de otros controladores (como el controlador adaptable y sub-óptimo).
De los controladores presentados en esté capı́tulo, se puede concluir que el diseño
mediante el principio de optimalidad de Hamilton-Jacobi-Bellman, es un contro-
lador cuya estructura es relativamente sencilla pero sin embargo tiene caracterı́sti-
cas fuertes, como estabilidad asintótica, robustez, y su aplicación solo requiere del
conocimiento de la energı́a cinética del sistema.
2. Control Basado en Pasividad 77

Referencias

1. Bayard D., Wen J.T., “A New Class of Stabilizing Control Laws for Robotic Manipulators,
Part II: Adaptive Case”, International Journal of Control, 47(5), 1988, pp.1387-1406.
2. Domı́nguez-Ramı́rez Omar A., and Parra-Vega Vicente, “Active Haptic Interface for Remote
Training Purposes”, 11T H International Conference on Advanced Robotics, Coimbra, Portu-
gal, June 30 - July 3, 2003.
3. Hans P. Geering, Optimal Control with Engineering Applications, Springer Berlin Heidelberg
New York, 2007.
4. Jean-Jacques E. Slotine and Weiping Li, Applied Nonlinear Control, Prentice-Hall, Engle-
wood Cliffs, New Jersey, 1991.
5. Kelly R., “A tuning procedure for stable PID control of robot manipulators”, Robotica, vol.
13, pp. 141 - 148, 1995.
6. Kelly Rafael, Santibáñez Victor, Control de Movimiento de Robots Manipuladores, Prentice
Hall, 2003.
7. Khalil, H., Nonlinear Systems, Segunda edición, Prentice Hall, NJ, 1996.
8. Ordaz-Oliver J. Patricio, Domı́nguez-Ramı́rez Omar A., and Muñoz-Palacios Filiberto, “Sub-
Optimal Control Based on Passivity for Euler-Lagrange Sysems”, International Conference
on Control 2008 (UKACC), Manchester UK, 4-6 September, 2008.
9. Ordaz-Oliver J. Patricio, Domı́nguez-Ramı́rez Omar A., and Espinoza-Quesada Eduardo S.,
“Trajectory Tracking Control for Robotics Manipulators Based on Passivity”, Electronics,
Robotics, and Automotive Mechanics Conference, September 25-28, 2008.
10. Ordaz-Oliver J. Patricio, Domı́nguez-Ramı́rez Omar A. “Global Regulation for Robotics Ma-
nipulators Based on Kinetic Energy”, Electronics, Robotics, and Automotive Mechanics Con-
ference, Cuernavaca, Morelos, México, September 25-28, 2007.
11. Ordaz-Oliver J. Patricio, Domı́nguez-Ramı́rez Omar A., “Novel Sliding-mode Control for
Euler-Lagrange Systems: Nonadaptive and Adaptive Case.”, 4th IEEE Latinoamerican
Robotics Symposium, Monterey, Nuevo León, México, Nobemver 9-14, 2007.
12. Ortega Romeo, Lorı́a Antonio, Nicklasson Per Johan, and Sira-Ramı́rez Hebertt, Passivity-
based Control of Euler-Lagrange Systems, Mechanical, Electrical and Electromechanical Ap-
plications, Spriger, 1998.
13. Parra-Vega V., Arimoto S., Yun-Hui Liu, Hirzinger G., Akella P., “Dynamic sliding PID con-
trol for tracking of robot manipulators: theory and experiments”, Robotics and Automation,
IEEE Transactions, Volume 19, Issue 6, pp. 967 - 976, 2003.
14. Parra V., and Arimoto S., “Nonlinear PID control with Sliding modes for Tracking of Robots
Manipulators”, IEEE Conference on Control Aplications, Mexico 2001.
15. Parra-Vega V., Arimoto S., “Adaptive control for robot manipulators with sliding mode error
coordinate system: free and constrained motions”, Robotics and Automation, IEEE Interna-
tional Conference on Volume 1, May 21-27, 1995.
16. Parra-Vega V., and Arimoto S., “Adaptive control for robot manipulators with sliding mode
error coordinate system: Free and constrained motions”, IEEE Int. Conf. Robotics and Au-
tomation, Japan, 1995.
17. http://www.sensable.com/
18. Simon Dan, Optimal State Estimation, A JOHN WILEY and SONS, INC. 2006
19. Spong Mark W., Vidyasagar M., Robot Dynamics and Control, John Wiley and Sons, 1989.
20. Vidyasagar M., Nonlinear Systems Analysis, Prentice-Hall, Englewood Cliffs, 1993.
21. Wen J.T., Bayard D., “A New Class of Stabilizing Control Laws for Robotic Manipulators,
Part I: Nonadaptive Case”, International Journal of Control, vol. 47, pp.1361-1385, 1988.
Capı́tulo 3
Diseño, Construcción e Instrumentación de un
Robot Móvil Diferencial

R. Silva-Ortigoza, J. R. Garcı́a-Sánchez, V. R. Barrientos-Sotelo,


G. Silva-Ortigoza, M. A. Molina-Vilchis y M. Marciano-Melchor

Resumen En este trabajo se presenta el análisis, diseño, construcción e instru-


mentación de un robot móvil tipo diferencial. En lo que respecta al análisis y diseño
del móvil se hace uso del software de desarrollo SolidWorksr . En lo referente a
la construcción de la estructura mecánica, se muestra la evolución de cómo esta
se llevó a cabo con la ayuda de distintas máquinas herramientas (cortadora eléctri-
ca, control numérico computarizado (CNC), torno, fresadora). Finalmente, también
se describe la instrumentación asociada al móvil, la cual permite la locomoción
del mismo, y la posible conexión que pudiera tener este sistema con una tarjeta
de adquisición de datos controladora, en nuestro caso en el desarrollo de trabajos
futuros se hará uso de un DSP.

R. Silva-Ortigoza, J. R. Garcı́a-Sánchez, V. R. Barrientos-Sotelo, M. Marciano-Melchor


CIDETEC-IPN, Departamento de Posgrado. Área de Mecatrónica
Av. Juan de Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal,
“Unidad Profesional Adolfo López Mateos”. C.P. 07700, México, D.F., MÉXICO
e-mail: rsilvao@ipn.mx, mmarciano@ipn.mx
G. Silva-Ortigoza
Benemérita Universidad Autónoma de Puebla,
Facultad de Ciencias Fı́sico Matemáticas
Ap. Postal 1152. C.P. 72001, Puebla, Pue., MÉXICO
e-mail: gsilva@fcfm.buap.mx
M. A. Molina-Vilchis
CIDETEC-IPN, Departamento de Posgrado. Área de Telemática
Av. Juan de Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal,
“Unidad Profesional Adolfo López Mateos”. C.P. 07700, México, D.F., MÉXICO
e-mail: mamolinav@ipn.mx

79
80 R. Silva-Ortigoza et al.

3.1. Introducción

En los últimos años, el desarrollo de los robots móviles, ha permitido avances


significativos en distintas áreas de la ciencia, debido al gran campo de aplicación en
el que es posible hacer uso de éstos. Por ejemplo en asistencia médica, exploración
espacial, exploración marı́tima, ocio y entretenimiento, investigación y desarrollo,
industria metal-mecánica, industria quı́mica, investigación militar, limpieza en am-
bientes diversos, agricultura, inspección, vigilancia, transporte, etc. Sin embargo,
hablar de robótica móvil, es hablar de una transición que poco a poco ha ido evolu-
cionando y que, hasta nuestros dı́as, continúa siendo un tema de gran interés a nivel
internacional. Las investigaciones que dı́a a dı́a se van sucediendo, son sólo un nuevo
aporte significativo al tema en cuestión, pues el lı́mite en el desarrollo y concepción
de un robot móvil, aún se divisa muy lejos.
El primer robot móvil fue creado en 1951 por Walter, un sistema electromecánico
que simulaba el movimiento de una tortuga, llamado de forma similar Turtle [1].
Años más tarde, de 1966 a 1972 Nilsson en el Stanford Research Institute (SRI) de-
sarrolló el robot Shakey [2], siendo este el primer robot en hacer uso de la inteligen-
cia artificial para controlar sus movimientos. A partir de la década de los setenta,
la investigación y diseño de robots móviles (que contaron con caracterı́sticas muy
diferentes entre ellos) creció de manera exponencial. A principios de esa década, el
robot Newt [3] fue desarrollado por Hollis. El robot Hilare [4] desarrollado en el
Laboratorio de Análisis y Arquitectura de Sistemas (LAAS) en Francia. En el Jet
Propulsion Laboratory (JPL) se desarrolló el Lunar rover [5], diseñado particular-
mente para la exploración planetaria. A finales de esa década, Moravec desarrolló el
robot Stanford cart [6], capaz de seguir una trayectoria delimitada por una lı́nea es-
tablecida en una superficie, en la Universidad de Stanford. En 1983, el robot Raibert
[7], fue desarrollado en el Massachusetts Institute of Technology (MIT), un robot
de una sola pata diseñado para estudiar la estabilidad de éstos sistemas y brindar un
conocimiento más profundo acerca de este tipo de locomoción. A principios de la
década del noventa, Vos et al. desarrollaron un robot “uniciclo” [8] (una sola rueda,
similar a la de una bicicleta) en el MIT. Años más tarde, en 1994, el Instituto de
robótica de Carnegie Mellon University (CMU) desarrolló el robot Dante II [9], un
sistema de seis patas cuyo propósito fue el de tomar muestras de gases en el volcán
Spurr situado en Alaska. En 1996 también en el CMU, se desarrolló el robot Gy-
rover [10], un mecanismo ausente de ruedas y patas, basado en el funcionamiento
del giroscopio, por lo que la precisión de sus movimientos y su estabilidad eran muy
elevadas. Ese mismo año se desarrolló en el MIT el Spring Flamingo [11], un robot
que emulaba el movimiento de un flamingo y que fuera diseñado para implementar
técnicas eficaces de control en la posición de los actuadores (patas), para describir
el movimiento del mismo y para ejecutar diversos algoritmos desarrollados para su
desplazamiento. Por su parte, la NASA en 1997 envı́o a Marte un robot móvil tele-
operado llamado Sojourner rover [12], dedicado a enviar fotografı́as del entorno de
dicho planeta. Ese mismo año, la empresa japonesa HONDA, dio a conocer el robot
P3 [13], el primer humanoide capaz de imitar movimientos humanos. Al siguiente
año, se desarrolla en la universidad Waseda en Japón, el WABIAN R-III [14], un
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 81

robot humanoide para fines de investigación sobre el movimiento del cuerpo hu-
mano. En 1999 en el CMU, Zeglin propuso un nuevo diseño de robot con una pata
llamado Bow Leg Hopper [15], un diseño que por su naturaleza permite almacenar
la energı́a potencial de la pata, ya que es una articulación de forma curva que al dar
cada paso comprime un sistema de resorte y de esta forma el consumo de energı́a
es mı́nimo, permitiendo un ahorro significativo de la misma. En 2006, Hollis et al.
desarrollaron el robot Ballbot [16], un sistema holónomo cuyo movimiento es pro-
porcionado por una esfera ubicada en la parte inferior de la estructura; el control
de la esfera, es similar al de un mouse de computadora, empleando encoders para
determinar cada posición de la misma. Sin embargo, el estudio de este tipo de robots
con una esfera, fue iniciado por Koshiyama y Yamafuji [17] en 1991 (diversas in-
vestigaciones han sido efectuadas sobre este tipo de robots en los últimos años [18]).
Actualmente los robots teleoperados Spirit rover y Opportunity rover, (ver [19]), se
encuentran explorando la superficie del planeta marte en busca de mantos acuı́feros.
Los robots aquı́ mencionados, son únicamente una porción de los tantos que se han
diseñado, sin embargo, es posible notar que las aplicaciones de éstos son vastas y
que las mismas son ilimitadas debido al desarrollo cada vez más vertiginoso de la
tecnologı́a.

(a) Robots de Ruedas.

(b) Robots de Patas. (c) Robots de Orugas.

Figura 3.1 Tipos de locomoción en un robot móvil.

Un robot móvil se define como un sistema electromecánico capaz de desplazarse


de manera autónoma sin estar sujeto fı́sicamente a un solo punto. Posee sensores
que permiten monitorear a cada momento su posición relativa a su punto de origen y
a su punto de destino. Normalmente su control es en lazo cerrado. Su desplazamien-
to es proporcionado mediante dispositivos de locomoción tales como ruedas, patas,
82 R. Silva-Ortigoza et al.

orugas, etc. Para dotar de movimiento a un robot móvil, se emplean comúnmente 3


tipos de locomoción: por ruedas [20], por patas [21] y por orugas [22].
El objetivo de este trabajo es el diseño, construcción e instrumentación de un
prototipo de robot móvil tipo diferencial. Dicho prototipo pretende emplearse para
fines didácticos y en futuros trabajos de investigación. En este capı́tulo se abordan
las tres etapas del diagrama general de un robot móvil que se muestra en la Figura
3.2. En la sección 3.2 se lleva a cabo una descripción detallada del funcionamiento
de un robot móvil, ası́ como de las etapas de las que depende, a saber, Subsistemas,
Potencia, Adquisición de datos y control. En la sección 3.3 se aborda de forma
precisa la primer etapa, subsistemas, en donde se describe el proceso que se llevó a
cabo para la selección de los actuadores y sensores que la conforman, ası́ como
también el proceso detallado de la construcción del prototipo de robot móvil. En
la sección 3.4, se describe la segunda etapa, potencia, en donde se habla acerca
del sistema electrónico en general, incluyendo el diseño de los distintos circuitos
que permiten el funcionamiento del móvil. Por otro lado, en la sección 3.5 se habla
acerca de la tercer etapa, adquisición de datos y control, en la que se describe la
tarjeta DSP a utilizar en este prototipo, ası́ como el circuito que permite la interfaz
entre ésta y el robot móvil. En la sección 3.6 se presenta el prototipo finalizado y
finalmente, en la sección 3.7, se presentan las conclusiones del trabajo, ası́ como
trabajos futuros y probables extensiones del mismo.

3.2. Descripción general de funcionamiento

Un robot móvil está conformado por dos subsistemas, el correspondiente a los


actuadores y el correspondiente al diseño mecánico. Para controlar cada uno de estos
subsistemas, son necesarias una etapa de potencia y una etapa de control. La etapa
de potencia permite la interacción entre las etapas de control y de los subsistemas,
es decir, la comunicación entre ambas etapas al momento del envı́o y recepción de
información; de igual forma, la alimentación de voltaje de cada dispositivo elec-
trónico y la protección de los actuadores, ası́ como también la protección del DSP a
cualquier sobrecarga ya sea de voltaje o bien de corriente eléctrica. Finalmente, en
la etapa de control se lleva a cabo la programación de las leyes que gobernarán el
funcionamiento asociado a cada uno de estos subsistemas (estas leyes se proponen
en base a modelos matemáticos), es decir, es la etapa en la que se imponen ciertas
restricciones al funcionamiento del sistema en general. De manera general, en la
Figura 3.2, se presenta un diagrama a bloques del prototipo propuesto.

3.2.1. Etapa 1: Subsistemas

La primer etapa es la referida a los subsistemas que conforman al prototipo de


robot móvil, a saber, los actuadores y el diseño mecánico. El subsistema a es el que
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 83

Robot Móvil

Protección

Figura 3.2 Diagrama a bloques general del prototipo de robot móvil.

permite el desplazamiento del robot móvil dentro de un espacio de trabajo determi-


nado y el monitoreo de su posición en cada instante, mientras que el subsistema b es
el correspondiente al diseño mecánico. Como se verá más adelante, en la estructura
del robot móvil se encuentran acopladas las ruedas motrices, las ruedas de bola, los
actuadores, los encoders y en la parte superior de la misma, se pretende montar las
baterı́as y los circuitos de la etapa de potencia. Más adelante, en la sección 3.3, se
lleva a cabo una amplia explicación acerca de esta etapa mostrada en la Figura 3.2.

3.2.2. Etapa 2: Potencia

La segunda etapa, es el punto intermedio entre la recepción y envı́o de infor-


mación entre las etapas 1 y 3. A grandes rasgos, ésta permite la protección, ali-
mentación y envı́o de datos para las etapas 1 y 3. Al respecto, su correcta definición
es primordial para lograr una interacción asequible entre el control y los subsistemas
que conforman al robot, ya que de lo contrario se pondrı́a en riesgo la tarjeta DSP
de la etapa 3 y al sistema eléctrico en general. Se observa en el diagrama a blo-
ques de la Figura 3.2, que esta etapa se encuentra conformada por cinco circuitos,
el correspondiente a la fuente de alimentación de todo el sistema, el circuito de pro-
tección, el circuito de optoacoplamiento, el circuito del puente H y el circuito que
gobierna el funcionamiento de los encoders. El circuito de protección se encuentra
delimitado por una lı́nea punteada ası́ como las flechas indicadoras que conectan a
este circuito con la fuente, esto se debe a que en base a la construcción del puente
H, este circuito de protección puede o no emplearse. Cada uno de estos se explican
con mayor detalle en la sección 3.4.
84 R. Silva-Ortigoza et al.

3.2.3. Etapa 3: Adquisición de datos y control

La tercer y última etapa, es la etapa en la que se instrumentan las leyes de con-


trol que gobernarán el desplazamiento del robot móvil. Como se puede apreciar en
la Figura 3.2, esta etapa consta de un circuito interfaz, un DSP y una PC conec-
tados bidireccionalmente. El propósito de la conexión bidireccional entre la tarjeta
de interfaz y el DSP, es el envı́o y recepción de datos hacia la etapa de potencia,
mientras que la conexión bidireccional entre el DSP y la PC, es de igual forma la
transmisión de datos entre ambos dispositivos, ya que el DSP monitoreará a cada
momento la posición del móvil y proporcionará esta información a la PC. Por otro
lado, en base a la información que el DSP vaya recibiendo por parte de la etapa de
potencia, será capaz de controlar a los actuadores en tiempo real gracias a la ley de
control previamente instrumentada. Como se observa en la Figura 3.2, es la etapa
primordial para el control en lazo cerrado del sistema. En la sección 3.5 se describe
de forma general lo referente a la parte electrónica de esta etapa.

3.3. Etapa 1: Subsistemas

Es claro que la adecuada selección de componentes en un proyecto de esta magni-


tud, es un factor importante que impactará en forma directa no sólo en el desempeño
del prototipo propuesto, sino también en todas y cada una de las etapas que inter-
vienen para controlar al sistema de forma eficaz. Es por ello que se llevó a cabo una
investigación lo más certera posible para adquirir los componentes que más se ade-
cuaran a las necesidades del proyecto. Al igual que la selección de los componentes,
resulta igualmente importante e imprescindible el diseño mecánico del prototipo del
robot móvil, pues de ello se desprende el saber por ejemplo el torque que requieren
los actuadores (debido al peso de la base del robot), el diámetro que requieren las
ruedas (principalmente para la altura apropiada debido a las dimensiones tanto de
los actuadores ası́ como de los sensores), etc., es decir, ambas subetapas dependen
una de la otra. Se observa en la Figura 3.2 que esta primera etapa consta de dos
subetapas, la subetapa a correspondiente a los actuadores y sensores y la subetapa b
correspondiente al diseño mecánico del prototipo del robot móvil. En los siguientes
párrafos se describe a detalle el procedimiento que se llevo a cabo para la conclusión
de estas subetapas, y de esta manera, abordar la siguiente etapa descrita en la Figura
3.2.

3.3.1. Subsistema a: Actuadores y sensores

Como se mencionó en el párrafo precedente, en este apartado se describe el pro-


cedimiento necesario para la correcta selección tanto de los actuadores, sensores,
caja de engranes y baterı́a. Es importante mencionar que la selección de los motores
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 85

permitió de manera directa la selección apropiada de la caja de engranes, ya que el


fabricante manufactura los actuadores con la opción de acoplamiento directo con
una caja de engranes. Los cálculos necesarios para dicha selección fueron propor-
cionados igualmente por el fabricante. Respecto a los encoders, la selección fue en
base a los requisitos demandados para este prototipo (es decir, la precisión con la
que se deseó llevar a cabo el monitoreo) al igual que la selección de las baterı́as.

3.3.1.1. Motores

Para este prototipo de robot móvil, se plantea el uso de motores de CD como


sistema de actuadores para lograr la locomoción. Sin embargo, la selección de éstos
es muy importante para la aplicación en particular que se pretende llevar a cabo,
pues dentro de los motores de CD existe una amplia gama que varı́a en función de
las necesidades del sistema. Dentro de robótica, los motores más comúnmente em-
pleados, son los motores a pasos, los servomotores y los motores de CD, cada uno
de éstos brinda distintas posibilidades dependiendo de las caracterı́sticas del sistema
al que se necesite incorporar. Los motores a pasos, permiten controlar con una pre-
cisión bastante elevada el desplazamiento del rotor debido a su construcción, ya que
cuentan con un par de bobinas independientes que pueden ser controladas igual-
mente de forma independiente, permitiendo que el giro del rotor sea paso por paso,
es decir, el desplazamiento es por grados. Existen en el mercado algunos motores de
este tipo que requieren 200 pasos (i.e. 1.8◦ por paso) para completar un giro com-
pleto. Pese a ser muy precisos en el posicionamiento del eje, la etapa de potencia
necesaria para controlarlos demanda mayor número de componentes debido a las
dos bobinas, siendo esta una de las desventajas para considerarlos en este prototipo.
Otros puntos importantes por los que no se ha optado por este motor, es la imposibi-
lidad de controlarlo en lazo cerrado, puesto que es posible perder algún grado de giro
y como consecuencia el móvil no seguirı́a la trayectoria definida, el torque necesario
para mover la carga es bastante elevado y este tipo de actuador no es eficiente. Un
servomotor, a diferencia de un motor a pasos, internamente está constituido por un
controlador de ancho de pulso, que permite posicionar la flecha del servo (este con-
trol es distinto al empleado en los motores de CD, pues en estos motores, se emplea
esta estrategia para modular su velocidad) a un ángulo deseado. Los servomotores,
sólo tienen un tasa de giro de aproximadamente ±120◦ , es decir, su desplazamiento
angular está limitado, razón evidente para no optar por este tipo de actuador. Res-
pecto al torque que proporciona, es muy bajo en comparación con el requerido y
de igual forma que el motor a pasos, no es posible controlarlo en lazo cerrado. Por
lo anteriormente mencionado, resulta más conveniente hacer uso de motores de CD
para lograr el objetivo de este trabajo.
Inicialmente, se tienen los parámetros de velocidad y aceleración a la que se
desplazará el móvil, ası́ como el peso total del sistema:

υmáx = 1 m/s, amáx = 1 m/s2 , m = 46.745 kg.


86 R. Silva-Ortigoza et al.

En base a la masa m y a la aceleración máxima amáx , es posible calcular la fuerza


necesaria F para su desplazamiento:

F = ma = (46.745 kg) · (1 m/s2 ) = 46.745 N.

Puesto que se emplearán dos motores, cada uno tiene una fuerza asociada, Fmder
para el motor derecho y Fmizq para el motor izquierdo, en donde cada uno de estos
proporcionará la mitad de la fuerza necesaria, es decir:
F 46.745 N
Fmder = Fmizq = = = 23.373 N,
2 2
y, sabiendo que el diámetro de las ruedas es de 0.15 m (0.075 m de radio), se calcula
el par requerido para cada motor:

τmizq = Fmizq (r) = (23.373 N) (0.075 m) = 1.753 Nm,

τmder = Fmder (r) = (23.373 N) (0.075 m) = 1.753 Nm.


Por otro lado, teniendo la velocidad de avance máxima υmáx , se calcula la veloci-
dad angular de cada rueda ωrueda :

υmáx = ωrueda r,

de donde:
υmáx 1 m/s
ωrueda = = = 13.3333 rad/seg = 127.3267 rpm.
r 0.075 m
Esta velocidad angular no es la asociada a cada motor, ya que al acoplarse a la
caja de engranes, ésta es la que determinará dicha velocidad. Teniendo los datos
anteriores, se procede a calcular la potencia requerida Prueda para cada rueda:

Prueda = τωrueda = (1.753 Nm) · (13.3333 rad/seg) = 23.373 W.

Esta potencia, es la que debe ser transmitida a cada rueda del robot móvil, por lo
que la potencia del mismo debe ser superior debido a la pérdida en el reductor (caja
de engranes). La eficiencia promedio de los reductores, es aproximadamente del
70 %, lo que permite calcular una estimación de la potencia deseada de cada motor
Pdeseada :
Prueda = 0.7Pdeseada ,
de donde:
Prueda 23.373 W
Pdeseada = = = 33.39 W.
0.7 0.7
En base a la documentación técnica proporcionada por el fabricante [23], la primera
regla de selección de un motor establece que este debe de tener entre 1.5 y 2 veces
la potencia deseada Pdeseada , por lo tanto:
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 87

50.085 W < Pdeseada < 66.78 W,

por lo que los motores seleccionados, corresponden al modelo GNM3150 (24V,


55 W) y el reductor asociado a cada uno de éstos es el modelo G2.6. La segunda
regla proporcionada por el fabricante, establece que la velocidad deseada del motor
ωdeseada debe estar entre el 65 % y el 90 % de la velocidad sin carga del motor vsc ,
es decir:
2291.9 rpm < ωdeseada < 3173.4 rpm.
El factor de reducción que logra cumplir con esta regla, es el de 20:1, cuyo par de
salida en operación no debe superar los 2.4 Nm y cuenta con una eficiencia del 70 %.
Con los datos de este reductor en particular, se obtienen la velocidad angular de los
motores ωmotor y el par del de salida de los mismos Mmotor :

ωmotor = 20ωrueda = 20 · (13.333 rad/seg) = 266.666 rad/seg


= 2546.5348 rpm,

y teniendo en cuenta que:

Pdeseada = Mmotor ωmotor ,

se tiene:
Pdeseada 33.39 W
Mmotor = = = 0.125 Nm.
ωmotor 266.666 rad/seg

3.3.1.2. Caja de engranes

Para lograr el movimiento del robot móvil, es necesario acoplar una caja reduc-
tora a la salida de cada uno de los actuadores (motores) para que, de esta forma, sea
posible aumentar el par de salida (torque) y reducir la velocidad de cada actuador.
Una caja reductora, esta compuesta internamente por engranes que pueden variar en
tamaño, forma y número de dientes. Actualmente, el uso de las cajas reductoras de
engranes, es casi en su totalidad para amplificar el torque, mejorar la inercia permi-
sible y la reducción de vibración interna en un motor, respectivamente. En la Figura
3.3, se presenta la relación entre dos engranes acoplados entre sı́ para apreciar la
relación de reducción de velocidad que existe entre ambos.
La determinación del factor de reducción de velocidad, se calcula mediante la
razón entre la salida respecto a la entrada, es decir:

] dientes de engrane de salida


reducción = , (3.1)
] dientes de engrane de entrada
y para el caso de la Figura 3.3, la reducción de velocidad es:
62
reducción = ≈ 2,
32
88 R. Silva-Ortigoza et al.

Figura 3.3 Acoplamiento de dos engranes para reducir velocidad.

es decir, que el factor de reducción es de 2:1, lo que significa que por 2 revoluciones
del piñón, a la salida se tendrá una revolución.
Para el caso en que se tengan más de dos engranes, la determinación del factor
de reducción de velocidad, se realiza multiplicando la razón de las relaciones entre
cada engrane (ver Figura 3.4) mediante (3.1):
µ ¶ µ ¶ µ ¶
48 60 96
reducción = · · = 8.57 ≈ 9
14 32 72

es decir, que el factor de reducción es de 9:1, lo que significa que por 9 revoluciones
del piñón, a la salida se tendrá una revolución.

96 dientes
48 dientes
32 dientes

Eje de salida

Eje de entrada

14 dientes
72 dientes
60 dientes
(a) Vista frontal (b) Vista isométrica

Figura 3.4 Caja de engranes.

Respecto a la clasificación de estos dispositivos mecánicos, la mas aceptada es la


siguiente:
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 89

Engranajes de ejes paralelos (engranajes planetarios, engranajes rectos, engrana-


jes helicoidales paralelos, engranajes con engranes de doble hélice, engranajes
de cremallera y piñón).
Engranajes de intersección de ejes (engranajes cónicos).
Engranajes no paralelos-no perpendiculares (engranajes helicoidales cruzados,
engranajes hipoidales, engranaje de cremallera y gusano).
Las consideraciones necesarias que se deben tomar en cuenta para la correcta
selección de una caja reductora, se resumen en los siguientes renglones:
Velocidad de entrada al sistema reductor.
Velocidad de salida requerida.
Torque de salida del motor.
Torque requerido a la salida del reductor.
Potencia proporcionada por el motor.
Potencia requerida a la salida del reductor.
Para el caso del prototipo que se diseñó, se abordó en detalle los cálculos nece-
sarios para la selección tanto del motor como del reductor (caja de engranes),
obteniéndose que la reducción debe ser de 20:1, es decir, que por cada 20 revo-
luciones del piñón (acoplamiento directo con la flecha del motor), a la salida del
reductor se tendrá una revolución. Cabe mencionar que la empresa MicroMo dentro
de su catálogo de productos, cuenta con un modelo de motoreductor, en el que la
fabricación de la caja reductora y el motor de CD son una sola pieza. La Figura
3.5 muestra el acoplamiento entre la caja reductora y el motor adquirido para este
prototipo.

Figura 3.5 Motoreductor.

3.3.1.3. Sensores

Uno de los aspectos fundamentales en la navegación de un robot móvil, es el


conocimiento de su posición en cada instante mientras se desplaza hacia un punto
90 R. Silva-Ortigoza et al.

determinado. Para lograrlo, es necesario el empleo de sensores. Los sensores, son


dispositivos que convierten la variación de un fenómeno fı́sico en una señal eléctri-
ca, es decir, es una interface entre el mundo fı́sico y el mundo de los dispositivos
eléctricos y electrónicos. Debido a lo anterior, es preciso remarcar que un sensor es,
en su totalidad, un transductor. Estos dispositivos se clasifican en [24]:
Propiocertivos: sensores que miden cambios fı́sicos internos al sistema (robot
móvil), por ejemplo, la velocidad de los actuadores (motores), desplazamiento
de las ruedas, voltaje de las baterı́as.
Exteroceptivos: sensores que adquieren información del entorno en el que se en-
cuentra el robot móvil, por ejemplo, medición de distancias, intensidad de luz,
amplitud de sonido. Las mediciones en los cambios fı́sicos que circundan el en-
torno del móvil, permiten al sistema extraer información importante relacionada
a su espacio de trabajo.
Pasivos: sensores que detectan los cambios energéticos del medio ambiente, por
ejemplo, termostatos, micrófonos, cámaras infrarrojas.
Activos: sensores que emiten energı́a y miden la reacción del medio ambien-
te a tal emisión energética. Estos sensores ofrecen un rendimiento más elevado
que los sensores pasivos, debido principalmente a la interacción con el medio es
de forma controlada. Sin embargo, estos sensores pueden sufrir de interferencia
entre su señal y las señales emitidas por algún otro móvil en las cercanı́as de
éste, ó por señales emitidas por sensores similares montados en el mismo robot,
afectando radicalmente el resultado de las mediciones. Ejemplos de estos sen-
sores son los sensores ultrasónicos y los escáner de láser.

Las aplicaciones de los sensores son muy amplias. Los parámetros que se deseen
monitorear dentro de un sistema de cualquier tipo, son precisamente aquellos que
permitirán una adecuada selección del dispositivo. Los parámetros más comunes
que se toman en cuenta en la selección adecuada de un sensor, se muestran a con-
tinuación (ver [25]). En [26], se detalla cada una de estas caracterı́sticas.
Rango.- diferencia entre el valor máximo y el valor mı́nimo del parámetro a
detectar.
Resolución.- la variación más pequeña del sistema que el sensor puede detectar.
Precisión.- diferencia entre el valor medido y el valor real.
Sensibilidad.- razón de cambio a la salida por cada unidad de cambio a la entrada.
Cero offset.- valor nulo a la salida para una valor nulo a la entrada.
Linealidad.- porcentaje de desviación respecto a la curva de linealidad ideal del
dispositivo.
Tiempo de respuesta.- el retardo temporal entre la entrada y la salida.
Ancho de banda.- frecuencia en la que la magnitud de la salida desciende por
debajo de 3 DB.
Resonancia.- frecuencia a la que se presenta la magnitud de la salida más alta.
Temperatura de operación.- rango en el que el sensor opera de forma segura.
Banda muerta.- rango de valores a la entrada para los que no existe salida.
Sensibilidad al ruido.- razón entre la magnitud de la señal y el ruido de salida.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 91

Los sensores a emplear para el prototipo y que irán acoplados directamente a los
actuadores, son encoders ópticos. Los encoders, son actualmente los dispositivos
más empleados en robótica móvil para determinar la odometrı́a, ya que éstos per-
miten medir la velocidad angular y la posición del eje de un motor. Básicamente, un
encoder está formado por un arreglo de fototransistor y fotodiodo, dispuestos en am-
bos extremos de un disco que tiene sectores opacos y libres, que al ser acoplado a un
actuador rotatorio (motor), interrumpe el haz de luz que recibe el fototransistor del
fotodiodo y, de esta manera, genera un tren de pulsos (señal digital) que son envia-
dos a un controlador. El número de pulsos por revolución, determina la resolución
del encoder. En la Figura 3.6, se muestra a grandes rasgos como está constituido
internamente un encoder óptico.

Disco perforado
Circuito de
procesamiento Señal digital
digital de
señales
Emisor de luz Detector de luz

Figura 3.6 Diagrama básico de un encoder óptico.

Estos dispositivos, se dividen en encoders incrementales y encoders absolutos.


En un encoder incremental, es necesario conocer la posición inicial, ya que el des-
plazamiento se proporciona en incrementos. Emplea dos pistas en el disco que ge-
nera los pulsos al interrumpir el haz de luz, una pista para determinar el sentido de
giro y la segunda para indicar los incrementos en la posición. Al disminuir el ancho
de las pistas, se consigue aumentar la resolución del sensor y por ende la precisión.
Por otro lado, los encoders absolutos, por cada cambio en su posición generan una
posición inicial (nueva salida). Estos encoders emplean varias pistas dispuestas en
la superficie del disco, que codifican la posición en la que se encuentra el eje del
mismo, normalmente mediante algún código binario en el que sólo cambia un bit
(minimizando de esta manera la posibilidad de error) como el código Gray. En este
sensor, al aumentar el número de pistas se consigue aumentar tanto su precisión
como su resolución a costa de aumentar el tamaño.
Para el prototipo propuesto, se ha optado por instrumentar encoders ópticos de
tipo incremental, es decir, acoplarlos a los motores. El propósito de estos sensores,
será el de proporcionar la información al controlador diseñado para la estructura del
móvil, para determinar su posición dentro del espacio de trabajo en que se desen-
vuelva. Esto se logra monitoreando a través del DSP la información proporcionada
por el canal A y el canal B del encoder. Cabe mencionar que entre el canal A y el
canal B existe un desfasamiento de 90o , lo que permite determinar el sentido de giro
de los motores. El fabricante de este sensor es la empresa koreana Autonics, el mo-
92 R. Silva-Ortigoza et al.

delo corresponde al código E50S8 (ver Figura 3.7). A continuación se mencionan


las caracterı́sticas más importantes de este sensor.
Es posible instrumentarlo para sensar desplazamiento, velocidad, desplazamiento
angular, posición y aceleración.
Requiere alimentación de 12 - 24VCD.
Resolución de 1000 pulsos por revolución.
Cuenta con dos canales (channel A, channel B) y un ı́ndice (Index).
Frecuencia de respuesta de 180 KHz.
4 configuraciones distintas de salida.
El diámetro del cuerpo es de 50 mm.
El eje de salida es de 8 mm de diámetro y 15.8 mm de largo.

Figura 3.7 Encoder seleccionado para el prototipo.

3.3.1.4. Baterı́a

Existen diferentes tipos de materiales que se emplean para almacenar energı́a.


Frecuentemente las baterı́as toman el nombre del tipo de material utilizado para
su construcción (Nı́quel-Hierro, Litio-Hierro, etc.). Otras baterı́as toman el nombre
según el material hallado en los electrodos y en el tipo de electrolito utilizado. La
mayorı́a suelen ser baterı́as de ácido de plomo; el material activo utilizado determina
el voltaje de las celdas y el número de celdas determina el voltaje total de la baterı́a.
Las baterı́as de ácido de plomo, tienen un voltaje nominal de alrededor de dos voltios
(la mayorı́a de baterı́as de automóvil se componen de seis celdas y por ello tienen
una tensión de doce voltios). A pesar del gran esfuerzo realizado en investigación
acerca de los diferentes tipos de materiales, las baterı́as de plomo-ácido son las
más comúnmente empleadas e insuperables por el amplio espectro de aplicaciones
que brindan. El plomo es abundante y barato, razón principal por la que resulta
idóneo para la producción de baterı́as de buena calidad en grandes cantidades. Este
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 93

tipo de baterı́as de plomo-ácido libres de mantenimiento, serán las empleadas en


el desarrollo de este proyecto, ya que no requieren ninguna acción por parte del
usuario en todo su periodo de vida.
Las baterı́as de plomo-ácido suelen ser módulos de 12V cada uno, con distin-
tas capacidades de corriente. Esto en un principio limita la selección de un motor a
alguno cuyo funcionamiento sea de 12V o incluso de 24V. Se podrı́an emplear mo-
tores que demanden una tensión de alimentación distinta, pero para obtenerla serı́a
necesario el empleo de convertidores de CD que provocarı́an una disminución en el
rendimiento de la baterı́a.
Actualmente en el mercado se pueden encontrar baterı́as de 12V-4.5Ah, 12V-
7Ah, 12V-12Ah y 12V-18Ah. Los primeros esquemas de control planeados para este
robot, indican que se requerirán 20V de alimentación en el motor, lo que implica
el uso de dos baterı́as. Respecto a la capacidad de cada baterı́a, se selecciona la
mayor dado que se desconoce el consumo máximo del robot. El uso de baterı́as
de menor capacidad, impactará no sólo en el tiempo de autonomı́a del robot, sino
que se comprometerı́a la seguridad de las mismas, pues si el consumo de corriente
demandado por el robot es ligeramente mayor al proporcionado por las baterı́as,
estas sufrirı́an daños irreversibles.
Las baterı́as adquiridas fueron de la marca YUASA (ver Figura 3.8) de 12V-
12Ah.

Figura 3.8 Baterı́a.

3.3.2. Subsistema b: Diseño mecánico

Una vez que se han seleccionado los componentes en el apartado precedente, es


posible llevar acabo a detalle el proceso que se siguió para el diseño mecánico del
robot móvil. Cabe resaltar que para la conclusión de este apartado, se contó con
94 R. Silva-Ortigoza et al.

el apoyo del Centro Nacional de Actualización Docente (CNAD) respecto a la


maquinaria necesaria para lograr la manufactura de las piezas del prototipo. Ini-
cialmente se partió de un diseño elaborado en el programa SolidWorksr que per-
mitió una visualización precisa de la distribución de los distintos componentes que
forman parte del prototipo, ası́ como también determinar el tipo de material a em-
plear para cada una de las piezas que conformaron al sistema. El diseño se muestra
en la Figura 3.9 con distintas vistas que ilustra el concepto inicial de este proyecto.

(a) Vista isométrica (b) Vista explosionada

(c) Vista frontal (d) Vista inferior

Figura 3.9 Diseño previo del robot móvil en SolidWorksr .

Es preciso puntualizar que el diseño presentado en la Figura 3.9, sufrió una evolu-
ción paulatina conforme se fue adentrando más en las caracterı́sticas mecánicas
propiamente dichas. Esto permitió de forma inherente optimizar completamente el
diseño y lograr un aprovechamiento total del espacio. En los siguientes párrafos se
presentan detalladamente los pasos requeridos para efectuar el maquinado de las
piezas; se presentan los diseños en SolidWorksr y su contraparte maquinada.
Inicialmente, se adquirió el siguiente material:
Hoja de aluminio para la base del robot.
Barra de aluminio para los las ruedas motrices.
Barra de latón para buje que une la flecha de cada motor con cada rueda motriz.
Solera de aluminio para soportes de las ruedas de bola.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 95

Barras de aluminio para unir los soportes de las ruedas de bola a la base del robot.
Solera de aluminio para sujetadores de rodamientos y sujetadores de encoders.
En la Figura 3.10, se muestra el material utilizado a lo largo del proceso de diseño
para conseguir manufacturar la estructura cinemática, las ruedas motrices y los com-
ponentes mecánicos extra (soportes, sujetadores, bujes, etc.).

Figura 3.10 Material empleado para diseñar el robot móvil.

3.3.2.1. Base del robot móvil

La parte principal de la estructura cinemática del prototipo desarrollado, es pre-


cisamente la base en la que irán acoplados todos los componentes de la misma
estructura cinemática y el subsistema de actuadores. Esta fue maquinada partiendo
de una hoja de aluminio de 80x80 cm. Se realizaron los cortes en la hoja de alu-
minio de tal forma que las dimensiones finales fueron 50x40 cm, en donde los 50
cm, representan el diámetro de una circunferencia, ya que la forma final de la base
del prototipo, es tipo elı́ptica. La Figura 3.11, muestra tanto el diseño previo de la
base del prototipo ası́ como el maquinado final de la hoja de aluminio a la forma
especificada.

3.3.2.2. Ruedas motrices

Las ruedas motrices se optó por llevarlas a cabo en el centro de maquinado,


pues las ruedas comerciales no cumplı́an con las caracterı́sticas requeridas para ser
empleadas en el prototipo propuesto. Se partió de una pequeña barra de aluminio
en bruto que fue seccionada en dos partes de espesor reducido. El maquinado de
estas ruedas fue bastante laborioso, ya que el detalle propuesto de los barrenos que
simulan el rin y la impresión del nombre del centro (CIDETEC-IPN), contribuyeron
96 R. Silva-Ortigoza et al.

(a) Diseño en SolidWorksr (b) Diseño final de la base del robot

Figura 3.11 Diseño de la base.

de manera significativa a la complejidad del maquinado. Por otro lado, ambas ruedas
constan de una pequeña caja en sus respectivos centros en donde irá acoplado el buje
(tapón de latón) que conectará ambas ruedas con las flechas de los motores. En la
Figura 3.12, se muestran los detalles antes expuestos.

(a) Diseño en SolidWorksr (b) Rueda vulcanizada

Figura 3.12 Diseño de las ruedas motrices.

Se observa en la Figura 3.12(b), las dos ruedas antes y después del vulcanizado.
También es posible apreciar en la rueda vulcanizada el detalle mencionado en el
párrafo anterior, el referido a la siglas del Instituto.

3.3.2.3. Buje de unión entre rueda motriz y flecha del motor

La pieza mecánica que permite el giro de las ruedas motrices, es el buje de unión.
La intención de éste, es acoplar las ruedas motrices y la flecha de los motores.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 97

Este par de bujes se maquinaron en latón de diámetro reducido. Se llevó a cabo


el maquinado primero cortando a las dimensiones requeridas cada uno de estos bu-
jes y posteriormente desvastando con un torno el material sobrante para dar la forma
necesaria a ambas piezas. En la Figura 3.13, se muestra el proceso descrito en las
lı́neas anteriores.

(a) Diseño en SolidWorksr (b) Barra al momento del corte

(c) Diseño final de los bujes (d) Rueda con buje acoplado

Figura 3.13 Bujes de unión.

3.3.2.4. Soportes para las ruedas de bola

Respecto a los soportes, se empleó una solera de aluminio de espesor reducido y


de ésta se cortaron dos pequeñas piezas rectangulares. La función principal de los
soportes, es permitir el ensamble de las ruedas de bola a la estructura cinemática.
Debido a la forma de estas piezas, el maquinado fue un tanto complejo, no sólo
por la forma misma de los soportes, sino también por las letras maquinadas en sus
respectivas superficies. En la Figura 3.14 se muestran los soportes y las ruedas de
bola que se acoplarán a cada uno de éstos.
98 R. Silva-Ortigoza et al.

(a) Diseño en SolidWorksr (b) Soportes y ruedas de bola

Figura 3.14 Diseño de soportes para ruedas de bola.

3.3.2.5. Barras de unión entre soportes y estructura

Las barras de unión o barras de sujeción, se maquinaron a partir de pequeñas


barras de aluminio de un diámetro reducido. Tanto en la superficie superior como
en la superficie inferior, se llevó a cabo la cuerda correspondiente para permitir la
fijación con tornillos, en primer lugar de los soportes a las barras y en segundo lugar
la fijación de las barras a la superficie inferior de la base de la estructura cinemática.
Debido a que son un par de ruedas de bola por cada soporte, fue necesario emplear
seis barras distribuidas simétricamente en la superficie de cada soporte respectiva-
mente. Lo anterior se observa en la Figura 3.15.
La Figura 3.15(b), muestra un sólo soporte con sus respectivas ruedas de bola y
la distribución de las barras de sujeción antes de ser ensambladas.

(a) Diseño en SolidWorksr (b) Barras de unión

Figura 3.15 Diseño de las barras de unión.


3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 99

3.3.2.6. Sujetadores de rodamientos

Los rodamientos permiten la rotación sin traslación de las ruedas motrices al mo-
mento del giro de la flecha de cada motor. Los sujetadores tienen una doble función,
la de empotramiento de los rodamientos y la de unión con la base del robot móvil.
Para su maquinado, se empleó una solera de aluminio que fue cortada a las dimen-
siones requeridas (ver Figuras 3.16(b), 3.16(c)); asimismo, se empleó una máquina
fresadora para delimitar la caja en la que serán empotrados los rodamientos.

(a) Diseño en SolidWorksr (b) Corte de solera

(c) Piezas dimensionadas (d) Sujetadores maquinados

Figura 3.16 Maquinado de sujetadores de rodamientos.

En la Figura 3.16(c), se muestra la dimensión a la que ha sido cortada la pieza de


solera comparando con el tamaño del rodamiento que irá empotrado en dicho suje-
tador. Finalmente, en la Figura 3.16(d) se muestran los dos sujetadores debidamente
maquinados.
100 R. Silva-Ortigoza et al.

3.3.2.7. Diseño final y ensamble

Se presentó a lo largo de este apartado, el proceso necesario para concluir cada


una de las piezas que conforman el diseño mecánico del robot móvil (ver [27], [28]).
En la Figura 3.17 se muestran la mayorı́a de las piezas maquinadas.

Figura 3.17 Piezas maquinadas.

Para concluir esta sección se presenta la Figura 3.18, en la que se observan tanto
la evolución en el diseño propuesto en SolidWorksr como el diseño final de la
estructura mecánica del prototipo de robot móvil.

3.4. Etapa 2: Potencia

Hasta este punto se ha explicado a grandes rasgos el diseño mecánico del robot
móvil, lo que permite abordar en este apartado el diseño electrónico del sistema.
El diseño electrónico es imprescindible en esta etapa de la construcción, debido
a que de éste depende el funcionamiento eficaz del prototipo del robot móvil. Se
describirán los aspectos más importantes relacionados a la interconexión entre la
etapa de potencia y las etapas tanto de adquisición de datos ası́ como de actuación
(i. e. subsistemas) respectivamente. Cabe mencionar que los cálculos matemáticos
necesarios para la selección de algunos componentes (i. e. resistencias, capacitores)
se basaron en la ley de Ohm y en las leyes de Kirchoff (ver [29]) y que no se detallan
en este capı́tulo.
Se retoma en este apartado la Figura 3.2 en la que se muestra un diagrama a
bloques general del sistema. Es de nuestro interés en este punto la etapa central del
robot móvil, es decir, la etapa de potencia. A grandes rasgos, el diseño de la etapa
de potencia tiene dos vertientes, las cuales se muestran en los diagramas a bloques
de las Figuras 3.19 y 3.20 respectivamente.
Cabe señalar que para este prototipo, un diagrama a bloques más preciso es el
que se presenta en la Figura 3.20. La diferencia entre ambos diagramas, radica en
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 101

(a) Ensamble vista inferior

(b) Ensamble vista lateral

(c) Ensamble vista frontal

Figura 3.18 Diseño final del robot móvil.

que el primero hace uso de un puente H discreto, es decir, el circuito controlador


se construye empleando cuatro transistores de potencia (más adelante se explica a
detalle el funcionamiento de un puente H), razón por la que es necesario un circuito
digital de protección (subetapa 2 en el diagrama de la Figura 3.19), mientras que en
el segundo diagrama a bloques (Figura 3.20), se hace uso de un puente H encapsula-
do (LMD18200) y el circuito digital de protección no es necesario. En los siguientes
102 R. Silva-Ortigoza et al.

Etapa de potencia
Subetapa 1

Circuito
Fuente

Circuito digital Circuito Motor Circuito


Circuito izquierdo Encoder
de controlador
optoacoplador
protección (puente H)
DSP
Circuito digital Circuito
Circuito Circuito Circuito
de controlador Motor
optoacoplador controlador Encoder
protección (puente H)
(puente H) derecho

Subetapa 2 Subetapa 3 Subetapa 4 Subetapa 5

Figura 3.19 Diagrama a bloques general de la etapa de potencia.

párrafos se explicarán a detalle las subetapas que constituyen a la etapa de potencia


concerniente a este prototipo, Figura 3.20.

Etapa de potencia
Subetapa 1

Circuito
Fuente

Circuito Motor Circuito


Circuito izquierdo Encoder
controlador
optoacoplador
(puente H)
DSP
Circuito
Circuito Circuito Circuito
controlador Motor
optoacoplador controlador Encoder
(puente H)
(puente H) derecho

Subetapa 2 Subetapa 3 Subetapa 4

Figura 3.20 Diagrama a bloques propuesto de la etapa de potencia.


3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 103

3.4.1. Subetapa 1: Circuito fuente

Se mencionó previamente que la fuente de poder que proporciona el voltaje al


prototipo, es un par de baterı́as de 12V-12Ah conectadas en serie. No obstante, es
necesario reducir el voltaje de las baterı́as para proporcionar el voltaje necesario a
la etapa de optoacoplamiento del puente H (5V), a los ventiladores que permiten el
enfriamiento del puente H (12V), a los encoders (12V) y a los motores (24V). Para
lograr lo anterior, se diseñó un circuito que permite reducir el voltaje de las baterı́as
al voltaje demandado por cada uno de los circuitos que ası́ lo requieran. Se observan
las lı́neas de alimentación que parten de la fuente hacia los distintos circuitos en
forma bidireccional. La razón de ello, es que existe un protección mediante fusibles
en la tarjeta de la fuente en caso de que se presente un corto circuito en cualquier
parte del sistema. En la Figura 3.21 se presenta el diagrama esquemático del circuito
de la fuente de poder.

JP7
F1 3
2
1
F2
JP1 24V
4
JP8
3
2 1
1 2
3
Bateria 24V
GNA24
SW1

JP3
1
2P-1T-2P 2
3
JP2 D1 VR1 Volt Reg 12V
4
4 Vin Vout
12V
3 GND
1N4007 JP4
2
1 C1 C3 1
0.33uF 0.1uF
2
Bateria 13V
3
4
GNA12

D2 VR2 Volt Reg 5V JP5


Vin Vout 1
GND 2
1N4007
3
C2 C4 4
0.33uF 0.1uF
5V
JP6
1
2
3
4
GNA5

Figura 3.21 Diagrama del circuito fuente.


104 R. Silva-Ortigoza et al.

Se observa en el circuito el uso de ocho conectores, los primeros dos de la izquier-


da etiquetados por 24V, 13V, son los voltajes que provienen directamente de la
baterı́a. En el lado derecho del circuito, se encuentran los conectores 24V, 12V,
5V, que representan los voltajes respectivos y cada uno con un conector correspon-
diente de tierra y en la parte central los circuitos reguladores de voltaje, etiquetados
por VR1 y VR2, en donde el primero reduce el voltaje de 24V a 12V y el segun-
do reduce el voltaje de 24V a 5V. Como se mencionó en el párrafo precedente, se
implementó un par de fusibles que permiten la protección de los motores, de los
encoders y de los circuitos del puente H en caso de que se presente una sobrecarga
de corriente.

3.4.2. Subetapa 2: Circuito optoacoplador

Esta subetapa, permite aislar eléctricamente de manera eficaz la tarjeta DSP de la


correspondiente subetapa del circuito controlador (puente H). La tarjeta DSP envı́a
la información necesaria hacia los circuitos controladores de ambos motores para
su correcta activación, y debido a que la corriente que se necesita para la puesta
en marcha de los motores es mayor que la que proporciona el DSP, es indispen-
sable mantener aislada la tarjeta DSP de los circuitos controladores. Esta subetapa
de optoacoplamiento, es muy importante e imprescindible dentro de la etapa de po-
tencia, pues sin ella, la tarjeta DSP quedarı́a susceptible y su deterioro serı́a casi
inmediato. El diagrama de esta subetapa, se presenta en la Figura 3.22.

VCC5

R3
C1
330
.1uF U3A
R1
1 2
330

VCC5 MC74HC04AN
U1
6n137 14
DSpace VDD
7 PWM - Dir
GND
1
VCC5 1
2
2
3
4 Puente H
C2 R4
PWM - Dir
.1uF 330
U3D
R2
9 8
330
VCC5
5V MC74HC04AN
U2 VCC5
1 6n137
2 14
VDD
3 7
GND
4
++--
C7

Cap
.1uF

Figura 3.22 Diagrama del circuito de optoacoplamiento.


3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 105

Se observa en el circuito antes expuesto, el uso de tres conectores etiquetados por


DSpace, 5V, PWM1 -Dir. El propósito del primer conector, es el de recibir las señales
de activación tanto de los motores como de la dirección de los mismos y enviarlas
hacia los optoacopladores. El segundo conector proporciona el voltaje de 5V nece-
sario para la alimentación de los optoacopladores. El último conector se utiliza para
recibir las señales provenientes de los optoacopladores y de esta manera, enviarlas
hacia los respectivos actuadores. Es necesario mencionar que los optoacopladores
empleados para el desarrollo de esta subetapa, son los circuitos integrados 6N137,
los cuales al ser activados proporcionan a la salida una señal invertida respecto a la
señal de entrada, razón por la que se emplea una compuerta lógica NOT. Al emplear
dos actuadores, es necesaria una etapa de optoacoplamiento por cada uno de éstos.

3.4.3. Subetapa 3: Circuito controlador (puente H)

Finalmente la última subetapa dentro de la etapa de potencia, es la referida al


circuito controlador (puente H [30]). El propósito fundamental de esta etapa, es
la de energizar a los actuadores en el sentido de giro correspondiente. A grandes
rasgos, un puente H permite la conmutación del sentido de giro de un motor de CD
sin la necesidad de cambiar fı́sicamente la polaridad de los cables del motor. En la
Figura 3.23 se muestra la configuración de un puente H, y en donde TR1, TR2, TR3,
TR4, representan transistores que permiten la conmutación del sentido de giro y B0
y B1 representan las señales digitales de activación.

VCC VCC

B0 B1
T1 T2

MOTOR
B1 B0
T3 T4

Figura 3.23 Diagrama general de un puente H.

En el funcionamiento de un puente H, pueden presentarse cuatro casos particu-


lares. En la Figura 3.24 se detallan estos casos. Se observa que la lı́nea roja es el
sentido en el que viaja la corriente en el circuito y por ende la activación de los
transistores; a continuación se explican las posibles situaciones.
1 Acrónimo de Pulse Wide Modulation, Modulación por Ancho de Pulso.
106 R. Silva-Ortigoza et al.

Sentido de giro hacia la derecha. Se aprecia en la Figura 3.24(a), que para el


giro del motor en sentido de las manecillas del reloj, es necesario que se tenga
presente una señal digital tanto en T1 como en T4, es decir, que exista la señal
B0 que energiza a ambos transistores.
Sentido de giro hacia la izquierda. Como se observa en la Figura 3.24(b), para
que el motor gire en sentido contrario al de las manecillas del reloj, es necesario
que se tenga presente una señal digital tanto en T2 como en T3, es decir, que
exista la señal B1 que energiza a ambos transistores.
Condición de no giro. De acuerdo a la Figura 3.24(c), sucede cuando los cuatro
transistores (T1, T2, T3 y T4) son energizados al mismo tiempo, es decir, cuando
se envı́a de manera simultánea tanto la señal B0 ası́ como la señal B1 . Esta condi-
ción es indeseable, debido a que puede repercutir en el daño irreversible tanto de
los motores ası́ como del puente H.
Condición de corto circuito. En la Figura 3.24(d) se presenta en cuanto se ener-
gizan ya sea el par (T1,T3) ó bien el par (T2,T4) y debido a que no hay alguna
carga asociada a cualquiera de ambos pares de transistores, repercute en un corto
circuito y en el daño irreversible del puente H.
Una vez analizado el puente H, el siguiente paso es describir el diagrama elec-
trónico propuesto del circuito controlador. El circuito correspondiente al puente H,
se muestra en la Figura 3.25, en donde es posible observar que el puente H emplea-
do para este proyecto, es el circuito integrado LMD18200, el cual permite controlar
un motor de CD con tan solo dos señales, PWM y Dir; se emplean también un par
de diodos MUR460 de rápida conmutación. Como se mencionó al principio de esta
subsección, el propósito fundamental de este circuito controlador, es el de propor-
cionar movimiento a los actuadores y permitir el cambio en su dirección. Las señales
que permiten llevar a cabo esta acción, son enviadas desde el circuito optoacoplador
y corresponden a PWM y a Dir respectivamente. Estas señales, son recibidas me-
diante el conector etiquetado como PWM-Dir y permiten la activación de los mo-
tores, ası́ como especificar el sentido de giro requerido. Para lograr la disipación del
calor en el circuito LMD18200, se hace uso de un ventilador acoplado directamente
al cuerpo del circuito, lo que permite de manera eficaz el enfriamiento del mismo.
Por otro lado, los conectores etiquetados por Ventilador, 12V, 24V, se emplean para
conectar y energizar al ventilador y para energizar a los motores respectivamente.
Finalmente, el conector M1-M2, se emplea para conectar los motores. Es importante
mencionar que tanto el circuito de optoacoplamiento como el circuito controlador
(puente H), se llevaron a cabo en una sola tarjeta, es decir, se encuentran ambos
circuitos inmersos en una sola placa. De igual forma, cabe resaltar que al emplearse
dos motores de CD, se hace uso de dos circuitos controladores. Para finalizar, el
control a través del puente H, es el más usual en robótica móvil para el control de la
velocidad y la inversión en el sentido de giro de motores de CD.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 107

VCC VCC VCC VCC

B0 B1 B0 B1
T1 Sentido T2 T1 Sentido T2
de de
giro giro

MOTOR MOTOR
B1 B0 B1 B0
T3 T4 T3 T4

(a) Giro a la derecha (b) Giro a la izquierda

VCC VCC VCC VCC

B0 B1 B0 B1
T1 Sentido T2 T1 T2
de
giro
Sin giro

MOTOR MOTOR
B1 B0 B1 B0
T3 T4 T3 T4

(c) Condición de no giro (d) Corto circuito

Figura 3.24 Puente H.

3.4.4. Subetapa 4: Circuito encoder

Para llevar a cabo la tarea de monitoreo respecto a la posición del móvil dentro
del espacio de trabajo, se hace uso de encoders (ver Figura 3.7). Dentro del diseño
mecánico, es importante la distribución de todos los componentes, y en el caso par-
ticular de los encoders (puesto que se acoplan directamente a la flecha del motor a
través de una pieza de acoplamiento), la disposición final se muestra en la Figura
3.26 resaltados en un rectángulo.
El circuito que gobierna el funcionamiento de estos encoders, se muestra en la
Figura 3.27. Se observa el uso de cuatro conectores etiquetados como 5V, Señal En-
coder, 12V, DSP. El conector etiquetado como 5V, es el voltaje que se requiere para
activar la etapa de optoacoplamiento y es proporcionado por el DSP. Cabe men-
cionar que en este circuito de encoders, es igualmente empleado el optoacoplador
108 R. Silva-Ortigoza et al.

VCC12
R5
VCC24
330
U4
D1

6
LMD18200
MUR640
1 C3

1
2
Bootstrap1 10nF M1 M2
PWM - Dir 5
PWM 2
Out1 1
Ventilador 1
2
-+ 2 10
Out2
3 Motor
VCC12 Puente H Dir C4
11 10nF D2
12V Bootstrap2
9 MUR640
1 4 Flag
Brake
2
8
Sense R8
++
10K VCC5
R7

7
VCC24
24V R6 2K7
VCC5 10K
4
3
2
VCC24
1
+ + - -
C5 C6
1uF 1200uF

Figura 3.25 Diagrama del circuito controlador (puente H).

(a) Diseño en SolidWorksr (b) Vista inferior del prototipo

Figura 3.26 Disposición de los encoders en el robot móvil.

6N137, el cual entrega una señal invertida a la salida respecto a la entrada y por
ello se hace uso de una compuerta lógica NOT. El conector etiquetado por Señal
Encoder, corresponde a las señales que envı́a el sensor hacia el DSP para lograr el
monitoreo del robot móvil. El conector 12V, es el voltaje proveniente de la fuente de
poder y permite energizar al encoder. Finalmente el conector DSP, es el que recibe
las señales provenientes de la etapa de optoacoplamiento y son enviadas directa-
mente a la tarjeta DSP. Se reitera el uso de dos circuitos de encoder, pues al tener
dos actuadores, es indispensable monitorear ambos.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 109
VCC VDD
14
VDD
VDD
R1 R7 7
GND
VDD 4K7 4K7
5V U1A
1 R4
1 2
2
3 1K C1
4 MC54HC04AJ
5V (VDD-DSP) U2 Cap
6n137 0.1uF
VCC VDD
Señal Encoder VDD
1 R2 R8 DSP
2 4K7 4K7
3 6
4 U1D 5
R5 4
5 9 8
6 3
1K C2 2
Encoder VCC MC54HC04AJ 1
U3 Cap Señales a DSP
6n137 0.1uF
VCC VCC VDD
12V
1 VDD
R3 R9
2
4K7 4K7
3
4 U1F
12V (VCC) R6
13 12
1K C3
MC54HC04AJ
U4 Cap
6n137 0.1uF

Figura 3.27 Diagrama del circuito de los encoders.

3.5. Etapa 3: Adquisición de datos y control

Se mencionó que la adquisición de datos y el control del prototipo de robot móvil,


se llevarán a cabo mediante una tarjeta DSP. Dentro de las tarjetas DSP existentes
en el mercado, se optó por la marca dSPACE modelo DS1104. Las caracterı́sticas
más relevantes son las siguientes:
Procesador MPC8240 de punto flotante y 64 bits, reloj interno de 250 MHz.
Memoria fı́sica de 32 MB y memoria flash de 8 MB.
Cuatro temporizadores de propósito especı́fico.
Cuatro convertidores A/D multiplexados con resolución de 16 bits y cuatro con-
vertidores A/D paralelos con resolución de 12 bits.
Ocho convertidores D/A con resolución de 16 bits.
Veinte señales digitales configurables (entrada/salida) con resolución de 1 bit.
Diez señales de PWM con una frecuencia máxima de 20 MHz.
Dos canales independientes para encoders incrementales con resolución de 24
bits para lectura de posición.
Dos interfases seriales.
Es conveniente destacar que una de las principales razones por las que se se-
leccionó esta tarjeta, fue por su perfecta interacción con el programa MATLABr -
Simulinkr , ya que la programación de las leyes de control que gobernarán el com-
portamiento del robot móvil, se llevará a cabo a través de bloques en Simulinkr .
Otra razón muy importante es que se pretende ampliar los alcances de este pro-
110 R. Silva-Ortigoza et al.

totipo, y para lograrlo, se requerirán más señales y debido a la capacidad de esta


tarjeta DSP, será fácil conseguirlo.
En la Figura 3.28 se muestra la tarjeta DSP antes y después de ser conectada a la
computadora.

(a) Tarjeta DSP antes de conexión

(b) Tarjeta DSP conectada a la PC

Figura 3.28 Tarjeta DSP.

Se hace uso de las siguientes señales:


Dos señales de 1 bit configuradas como salidas para la dirección de los motores.
Dos señales de PWM a una frecuencia de 20 KHz para la activación de los mo-
tores.
Dos canales independientes para encoders incrementales para la lectura de posi-
ción.
Señales de voltaje y tierra digital.

3.5.1. Circuito interfase DSP-móvil

Una vez que se tienen todos y cada uno de los circuitos que permiten el fun-
cionamiento del prototipo de robot móvil, es necesaria una interfaz que permita la
comunicación eficaz entre la tarjeta DSP y el sistema. Para ello se ha diseñado un
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 111

circuito que permite no solo el envı́o y recepción de información entre el DSP y


el robot, sino también se le ha dotado de indicadores (led) que permiten saber en
primer lugar la dirección de cada motor y en segundo lugar el promedio de voltaje
generado mediante PWM que se envı́a a los motores para su respectiva activación.
En la Figura 3.29 se presenta el correspondiente diagrama esquemático de la interfaz
antes descrita.

Fte. Enc. Izq.


GND
VDD
1
2 PWM DER.
Fte.Enc.Izq.
R1 GND
Enc. Izq. 1K
J1 LED1
1
1
14
2 DIR.DER. 1
27 2 Dir. Der. 3
15
4 GND
26 3 Dir. Izq. 5
16
6 U1 LED1
4 PWM_Der. 1 20 R2
Enc.Izq.
OE1 VDD VDD
17 PWM_Izq 19 1K DIR.DER. 2
PWM_Izq OE2
5 Pte. H Izq. PWM_Der. VDD
18 PWM I. OutBF Dir. Izq. 2 18
6
1 Dir. Der. 3
A1 Y1
17 Dir D. OutBF
19 Dir I. OutBF
2 4
A2 Y2
16
3 A3 Y3 Dir I. OutBF LED1
7 5 15
20
4 6
A4 Y4
14
A5 Y5 PWM D. OutBF PWM IZQ.
8 Pt.H Izq. 7 13
A6 Y6
21 8 12
A7 Y7 PWM I. OutBF R3
9 Fte. Enc. Der. 9 11 GND
A8 Y8
22 1K
10
1 GND 10 LED1
23
2 GND
11 Fte.Enc.Der. MC74HC541N DIR.IZQ. 1
24
12 Enc. Der. GND
25
13
1 LED1
2 R4
3 DIR.IZQ. 2
DSP SIGNALS 4 1K
VDD
5
6
Enc.Der. LED1

Pte. H Der.
PWM D. OutBF
1
Dir D. OutBF
2
3
4
Pt.H Der.

Figura 3.29 Diagrama del circuito interfase DSP-móvil.

Se observa que la interfaz se lleva a cabo mediante un conector tipo DB25 cuyas
lı́neas se encuentran directamente acopladas a la tarjeta DSP. Se emplean igualmente
conectores que permiten direccionar las señales hacia los actuadores, sensores e in-
dicadores. Los conectores etiquetados como Fte. Enc. Izq., Enc. Izq., Pte. H Izq.,
son los correspondientes a las señales del voltaje requerido por el encoder izquier-
do, las señales enviadas desde el encoder hacia el DSP y finalmente las señales de
activación del puente H izquierdo respectivamente. De igual forma, los conectores
etiquetados como Fte. Enc. Der., Enc. Der., Pte. H Der., son los correspondientes a
las señales del voltaje requerido por el encoder izquierdo, las señales enviadas desde
el encoder hacia el DSP y finalmente las señales de activación del puente H dere-
cho respectivamente. Se hace uso de un buffer 74HC541 para la activación de los
distintos indicadores que permiten visualizar la dirección de cada motor, ası́ como
el promedio de voltaje enviado a cada motor (PWM) y a los puentes H izquier-
do y derecho, respectivamente. La configuración del conector DB25 respecto a las
señales que requiere el sistema para su funcionamiento, se presenta en la tabla de la
Figura 3.30.
Cada una de las señales provenientes del DSP es interceptada por un panel de
pruebas (rack), el cual permite no solo visualizar los led de las señales que son
112 R. Silva-Ortigoza et al.

Figura 3.30 Distribución de señales en el conector DB25.

empleadas, sino también facilita la conexión hacia la tarjeta interfaz del prototipo.
En la Figura 3.31 se observa el panel de pruebas conectado al robot móvil.

Figura 3.31 Panel de pruebas (rack).


3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 113

3.6. Prototipo finalizado

A lo largo de este capı́tulo, se ha profundizado en cada aspecto que permitió la


conclusión del prototipo de robot móvil, partiendo desde los pasos que se siguieron
para la selección de los actuadores, sensores, baterı́a, ası́ como el proceso en el
diseño mecánico y se concluyó con el diseño de la etapa de potencia. De esta mane-
ra, la Figura 3.32 muestra el diseño final del sistema en el programa SolidWorksr ,
en el que es posible ver la evolución en el diseño respecto al primer prototipo
planteado (ver Figura 3.9).
Ası́, una vez ensambladas todas y cada una de las piezas diseñadas y maquinadas
y propiamente haber llevado a cabo la interconexión de todos los circuitos que con-
forman al sistema, se presenta la Figura 3.33, en la que es posible apreciar final-
mente al robot móvil.

(a) Vista isométrica (b) Vista explosionada

(c) Vista frontal (d) Vista inferior

Figura 3.32 Diseño final del robot móvil en SolidWorksr .


114 R. Silva-Ortigoza et al.

(a) Vista isométrica (b) Vista frontal

(c) Vista lateral (d) Vista superior

Figura 3.33 Diseño final del robot móvil.

3.7. Conclusiones

Como ha quedado de manifiesto en este trabajo, llevar a cabo la construcción de


un robot móvil no es tarea sencilla, es necesario realizar una investigación acerca
de todo aquello que conforma a un sistema de esta naturaleza, estudiar y analizar su
funcionamiento con precisión, para, de esta forma, no solo elegir el tipo de robot a
construir, sino también conocer las problemáticas inherentes al mismo y partiendo
de esta pauta, diseñar de manera eficaz el prototipo.
El diseño de este robot móvil, parte de la premisa de estudiar este tipo de sis-
temas, controlarlos y contribuir al desarrollo de la investigación en México, ya que
la evolución tecnológica dentro de cada paı́s y el aprovechamiento eficaz de la mis-
ma, es factor propio a su crecimiento económico, social y cultural, pues brinda un
grado competitivo más elevado tanto a nivel nacional como internacional, dando
pauta a un intercambio positivo no sólo tecnológico sino también de recursos hu-
manos con otros paı́ses y finalmente, contribuir de manera significativa al desarrollo
de un paı́s.
3. Diseño, Construcción e Instrumentación de un Robot Móvil Diferencial 115

Agradecimientos

R. Silva-Ortigoza agradece el soporte económico recibido por la Secretarı́a de


Investigación y Posgrado del IPN (SIP-IPN), a través del proyecto 20100045, y del
programa EDI. Al apoyo recibido por el Sistema de Becas por Exclusividad de la
COFAA del IPN. Ası́ como al Sistema Nacional de Investigadores (SNI), Méxi-
co. G. Silva-Ortigoza agradece el soporte económico recibido por BUAP, ası́ como
del SNI-México. M. A. Molina-Vilchis agradece el apoyo recibido por los progra-
mas EDD y COFAA del IPN. Finalmente, M. Marciano-Melchor agradece el apoyo
recibido por la SIP-IPN, a través del proyecto 20100025 y del programa EDI, ası́ co-
mo del SNI-México.

Referencias

1. W. G. Walter, “An imitation of life”, Scientific American, 182:42-45, May 1950.


2. N. J. Nilsson, “Shakey the robot”, SRI International, Technical Note 323, April 1984.
3. R. Hollis, “Newt: A mobile, cognitive robot”, Byte Magazine, Vol. 2, No. 6, pp. 30-45, June
1977.
4. G. Giralt, R. Sobek and R. Chatila, “A multi-level planning and navigation system for a mo-
bile robot; A first approach to Hilare”, Proceedings of the WCAI, Tokyo, Japan, pp. 335-338,
August 1979.
5. A. M. Thompson, “The navigation system of the JPL robot”, Proceedings 5th IJCAI, Cam-
bridge Massachusetts, 1977.
6. H. Moravec, “Visual mapping by a robot rover”, Proc. 6th IJCAI, Tokyo, 1979.
7. M. H. Raibert, Legged robots that balance, Cambridge, MA, MIT Press, 1986.
8. D. W. Vos and A. H. Von Flotow, “Dynamics and nonlinear adaptive control of an autonomous
unicycle: theory and experiment”, Proceedings of the 29ht IEEE Conference on Decision an
Control, 1990.
9. J. Bares and D. Wettergreen, “Dante II: technical description, results and lessons learned”,
International Journal of Robotics Research, Vol. 18, No. 7, pp. 621-649, July 1999.
10. H. B. Brown and Y. Xu, “A single wheel giroscopically stabilized robot”, Proceedings IEEE
Int. Conference on Robotics an Automation, Vol. 4, pp. 39-44, September 1997.
11. J. Pratt and G. Pratt, “Intuitive control of a planar bipedal walking robot”, Proceedings IEEE
Intertational Conference on Robotics an Automation (ICRA 1998), Leuvem, Belgium, May
16-21, 1998.
12. B. K. Muirhead,“Mars pathfinder flight system integration and test”, Aerospace Conference,
Proceedings, IEEE, Vol. 4, February 1-8, 1997.
13. K. Tanie, “Humanoid robot and its application possibility, multisensor fusion and integration
for intelligent systems”, Proceedings of IEEE International Conference, July 30-Aug 1, 2003.
14. S. Hashimoto, “Humanoid robots in Waseda University Hadalay-2 and WABIAN”, IARP First
International Workshop on Humanoid and Human Friendly Robotics, Tsukuba, Japón, Octo-
ber 1998.
15. G. Zeglin, “The bow leg hopping robot”, Ph. D. dissertation, The Robotics Institute Carnegie
Mellon University, Pittsburgh, Pennsylvania, 1999.
16. T. B. Lauwers, G. A. Kantor and R. L. Hollis, “A dinamically stable single-wheeled mobile
robot with inverse mouse-ball drive”, Proc. IEEE International Conference on Robotics and
Automation, Orlando, FL, May 15-19, 2006.
17. A. Koshiyama and K. Yamafuji, “Development and motion control of the all direction steering-
type robot (1st report: a concept of spherical shaped robot, roll and running control)”, Proceed-
ings of 9th Japanese Robotics Conference, Japan, 1991.
116 R. Silva-Ortigoza et al.

18. A. Meghdari, M. Rajaei, A. Tadayon and Y. Radparvar, “Geometric and control of a spheri-
cal mobile robot”, Proceedings of the 2nd. WSEAS International Conference on Applied and
Theoritical Mechanics, Venice, Italy, November 20-22, 2006.
19. Z. H. Aronson, T. Lechler, R. R. Reilly and A. J. Shenhar, “Project spirit, a strategic concept,
management of engineering and technology”, PICMET 2001, Portland International Confer-
ence, Vol. 1, July 29 - Aug 2, 2001.
20. P. F. Muir, “Modeling and control of wheeled mobile robots”, Ph.D. dissertation, The Robotics
Institute Carnegie Mellon University, Pittsburgh, August 1988.
21. D. Todd,Walking machines: An introduction to legged robotics, Kogan-Page, London, 1985.
22. T. Iwamoto, H. Yamamoto and K. Honma, “Transformable Crawler mechanism with adap-
tability to terrain variations”, International Conference on Advanced Robotics, Tokyo Japan,
September 1983.
23. MicroMo Electronics, Faulhaber Group, http://www.micromo.com.
24. R. Siegwart and I. R. Nourbakhsh, Introduction to mobile robots, The MIT Press, Cambridge,
MA, 2004.
25. R. H. Bishop, Mechatronics an Introduction, CRC Press, 2005.
26. J. S. Wilson, Sensor Technology Handbook, Elsevier, 2005.
27. J. R. Garcı́a Sánchez, “Diseño y construcción de un robot móvil aplicando el método de cam-
pos potenciales en la evasión de obstáculos”, Tesis de Maestrı́a, Sección Mecatrónica, CIDE-
TEC, México, 2008.
28. V. R. Barrientos Sotelo, “Análisis, diseño, construcción y control en tiempo real de un robot
móvil tipo Shakey en el seguimiento de trayectoria”, Tesis de Maestrı́a, Sección Mecatrónica,
CIDETEC, México, 2008.
29. R. L. Boylestad, L. Nashelsky, Electrónica: Teorı́a de circuitos, Pearson Educación, 1997.
30. J. Lovine, Robot, Androids and Animatrons: 12 Incredible Projects You Can Build, McGraw-
Hill, 2002.
Capı́tulo 4
Control Predictivo de una Planta Hidroeléctrica

G. A. Muñoz-Hernández, D. I. Jones y S. P. Mansoor

Resumen En este capı́tulo se discutirá el modelado de una planta hidroeléctrica y


una propuesta para su control empleando el control predictivo basado en un modelo
hı́brido. Este control es capaz de estabilizar sistemas no lineales en una trayecto-
ria de referencia deseada; al mismo tiempo que cumple restricciones de operación,
tomando en cuenta conocimiento previo en forma de reglas heurı́sticas. Para com-
probar el funcionamiento del control predictivo, éste es aplicado a un modelo mul-
tivariable no lineal de una unidad de potencia con estación de bombeo. El compor-
tamiento de la planta hidroeléctrica bajo este control predictivo es comparado con
un control clásico Proporcional e Integral. Los resultados muestran que el Control
Predictivo basado en un modelo hı́brido es más rápido y menos sensible al número
de unidades en operación que el controlador clásico evaluado.

4.1. Introducción

En todos los sectores industriales, los mercados altamente competitivos obligan


a las compañı́as a tener procesos óptimos y confiables. En el sector de suministro
eléctrico, el mercado está constantemente cambiando la red de energı́a, la cual se

G. A. Muñoz-Hernández
Instituto Tecnológico de Puebla.
Av. Tecnológico 420, Col. Maravillas, Puebla, Puebla, 72220 MEXICO
e-mail: gmunoz@ieee.org
D. I. Jones
GWEFR, Centre for Advanced Software Technology. Technium Wales network
Ffordd Penlan Parc Menai Bangor Paı́s de Gales, LL574HJ U.K.
e-mail: dewi@gwefr.co.uk
S. P. Mansoor
University of Bangor. School of Informatics.
Dean Street, Bangor Paı́s de Gales, LL57 1UT U.K.
e-mail: s.mansoor@bangor.ac.uk

117
118 G. A. Muñoz-Hernandez et al.

forma con productores y consumidores. Es necesario un buen balance en tiempo


real entre consumo y producción para asegurar la cantidad y calidad del suministro
eléctrico. Aunque para propósitos de negocio es común que se considere un ajuste
en periodos de media hora, realmente la demanda varı́a en fracciones de segundo,
dando como resultado que las estaciones que alimentan la red nacional trabajen bajo
diversas condiciones de operación para mantener el balance de la potencia. Además,
la actual industria de energı́a enfrenta un incremento en la demanda de suministro
de electricidad a bajo costo y de buena calidad, debido a cambios financieros y
reglamentarios. Eso significa mejorar la velocidad y exactitud de respuesta a pertur-
baciones en la carga, para mantener la utilidad financiera. Para asegurar la calidad
de suministro de la electricidad, voltaje y frecuencia tienen que mantenerse a sus va-
lores requeridos dentro de los términos especificados, tales como bajos armónicos,
mı́nima depresión de voltajes y picos. Para el suministro nacional de Gran Bre-
taña, que es donde está ubicada la planta hidroeléctrica bajo estudio, los términos a
cumplir en voltaje y frecuencia son: 230 volts +10/-6 % (residencial) y 50 hertz +/-
0.5Hz.
Las plantas hidroeléctricas son diseñadas para ser altamente flexibles en ope-
ración y ser capaces de tomar o ceder carga rápidamente, resultando en su uso ex-
tensivo para el control de frecuencia de la red eléctrica y en el manejo de la carga.
Dinorwig es una estación eléctrica ubicada en el Norte del Paı́s de Gales, que cuenta
con seis turbinas reversibles de 300 MW, por lo que es una de las más grandes de
su clase en Europa y es usada para proveer servicios eléctricos auxiliares a la red
nacional británica. La planta consta de un túnel principal, que provee agua desde
un lago superior hasta un colector. El colector alimenta seis tubos de conducción
(penstocks) como se muestra en la Figura 4.1. El generador de energı́a eléctrica es
controlado mediante una válvula en cada tubo de conexión, la cual es manejada
con un control proporcional e integral (PI). Dos señales de control de lazo cerrado
son usadas, una para el control de frecuencia, donde la variación de la frecuencia
es calculada, y otra para un lazo de control de potencia en el cual la variación de
poder (energı́a) es multiplicada por la unidad de caı́da (droop). El “droop” deter-
mina el comportamiento de una planta de potencia con respecto a las necesidades
energéticas de la red eléctrica. Un modelo no lineal con múltiples entradas y múlti-
ples salidas (MIMO, por sus siglas en inglés) ha sido desarrollado para Dinorwig
[1], el cual ha mostrado representar de manera fiable sus caracterı́sticas principales,
las cuales son: dinámica de fase no-mı́nima (NMP) y una relación no lineal entre el
flujo de agua y la potencia mecánica.
El rasgo más prominente de Dinorwig es que puede producir cambios muy
grandes y rápidos en la energı́a que distribuye o extrae de la red. El que tan bien
lo logre su cometido depende del control de sistema. Como se mencionó anterior-
mente, el regulador de Dinorwig tiene dos modos de control, control de potencia y
de frecuencia, en cada unidad. El lazo de control de potencia ajusta la turbina a la
posición del aspa guı́a dependiendo de la variación de la energı́a, la cual se multipli-
ca por el factor de regulación de velocidad. Una configuración PI es usada para este
control. El lazo de control de frecuencia ajusta la demanda de energı́a, dependiendo
de la variación de frecuencia de 50 Hz. Este control tiene una configuración propor-
4. Control Predictivo de una Planta Hidroeléctrica 119

Figura 4.1 Diagrama esquemático de la estación hidroeléctrica (no a escala).

cional, integral y derivativa (PID). En la práctica, es posible separar el control de


voltaje y frecuencia, cambiando la excitación del generador sincronizado y también
el poder reactivo. Considerando que la frecuencia del sistema depende del compo-
nente real de la energı́a generada, la planta de energı́a de Dinorwig ayuda al control
de frecuencia entregando energı́a a la red tal como lo demande el coordinador de
la Red Nacional Transco (NGT). En términos de negocio a esto se le conoce como
“servicios auxiliares”.
El regulador clásico PID de Dinorwig no es capaz de mantener un desempeño
óptimo en todas las condiciones de operación, por lo tanto se han considerado
mejores controles para desempeñar dicha tarea. El tema central de este capı́tulo
es la presentación de mejoras en la entrega de energı́a, la cual puede lograrse rem-
plazando el algoritmo PID del regulador actual con un método más avanzado, es-
pecialmente, como se mostrará más tarde, el Control Predictivo Basado en Modelo
(MBPC, por sus siglas en inglés). Es conocido que existe un acoplamiento hidráuli-
co significativo entre las turbinas debido al suministro común, dando como resultado
una interacción de acloplamiento cruzado en el modelo (cross-coupling) [2, 3]. Es-
tas caracterı́sticas hacen que el comportamiento de la planta dependa del número
de unidades activas [1, 4]. Un modelo hı́brido, basado en la técnica de “Lógica y
Dinámica Mezcladas” (MLD), puede tomar en cuenta este rasgo de manera eficiente
y con pocos requerimientos computacionales. En este estudio un control predictivo
basado en un modelo MLD es desarrollado, como su nombre lo indica el control
toma como base un modelo hı́brido para calcular el comportamiento de la planta.
120 G. A. Muñoz-Hernandez et al.

En la sección 4.2 se describen de manera breve los sistemas hı́bridos. Diferentes


modelos de la planta son mostrados en la sección 4.3, mientras que en la sección 4.4
el modelo MLD de la estación hidroeléctrica es evaluado. La sección 4.5 describe
el control predictivo MLD y la sección 4.6 compara este control con un control tipo
PI. Finalmente son discutidas algunas conclusiones.

4.2. Sistemas hı́bridos

Los sistemas hı́bridos son sistemas jerárquicos compuestos por subsistemas


dinámicos a un nivel más bajo, los cuales son gobernados por componentes lógi-
cos/discretos a un nivel más alto [5]. Los sistemas hı́bridos pueden ser usados en un
gran número de industrias y en aplicaciones a menor escala. Tradicionalmente, exis-
ten dos paradigmas sobre los sistemas hı́bridos: agregación y continuación. Sin em-
bargo, recientemente han aparecido algunas topologı́as que unen ambos conceptos
[6, 7]. El paradigma de agregación abarca todo el sistema como un autómata finito
o como un evento discreto en un sistema dinámico. Es común, en esta teorı́a, dividir
los espacios de estado continuos y considerar solamente la agregación dinámica de
celda a celda en cada partición. El paradigma continuo trata a todo el sistema como
una ecuación diferencial. Esto puede hacerse por medio de dos técnicas: simulación
de acciones discretas, lo cual significa ecuaciones diferenciales ordinarias no linea-
les, o tratando las acciones discretas como disturbios de las ecuaciones diferenciales
que representan el sistema. La organización unificada, tal como la técnica de “Lógi-
ca y Dinámica Mezcladas” (MLD), tiene como objetivo capturar ambos rasgos tanto
el discreto como el continuo para permitirle al diseñador libre movimiento entre los
dominios discreto y analógico [8].

4.2.1. Programación de enteros

La programación de enteros ha sido probada como un método eficiente para ex-


presar problemas lógicos como inecuaciones lineales que mezclan enteros [9, 10,
11]. Estas inecuaciones son útiles para las partes lógicas del modelo de procesos
y conocimiento heurı́stico sobre la operación de la planta; ellos son un rasgo im-
portante de los sistemas MLD. Los problemas de lógica proporcional pueden ser
representados por inecuaciones de variables lógicas enteras (δi ) como en (4.1).

X1 ∨ X2 ⇒ δ1 + δ2 ≥ 1
X1 ∧ X2 ⇒ δ1 = 1, δ2 = 1 (4.1)
X1 ⊕ X2 ⇒ δ1 + δ2 = 1
donde X1 y X2 son variables lógicas (verdadero o falso) y δ1 y δ2 son variables
enteras (0 ó 1). Un conjunto muy completo de estas relaciones ha sido establecido
por Cavalier et al., [9].
4. Control Predictivo de una Planta Hidroeléctrica 121

4.2.2. Un ejemplo de un sistema hidráulico MLD

Para ilustrar las caracterı́sticas del MLD, permı́tanos considerar un modelo li-
neal simple del subsistema hidráulico de Dinorwig, el cual consistirá de sólo dos
unidades, con funciones de transferencia idénticas G j (s) con salida (∆ Pmech ), con-
trolada por la apertura en la válvula (∆ G). Aunque la dinámica de acoplamiento
cruzado no es modelada, dicho acoplamiento hidráulico aparece como resultado del
cambio en las condiciones de operación y por tanto en el tiempo de arranque del
túnel principal (Twti ). Todas las variables están en el sistema por unidad (p.u.) nor-
malizado a 300 MW y 50 Hz.

∆ Pmech (s) At (1 − G0 Twt1 s)


= (4.2)
∆ G(s) 1 + G0 T2wt1 s
La ecuación (4.2) determina la relación entre la potencia mecánica y la apertura
de la válvula, la ganancia de la turbina, At , tiene una dependencia no lineal en h
(cabeza hidráulica) como se muestra en (4.3).
(
1.18 si 1.00 ≥ h > 0.95
At = (4.3)
1.05 si 0.95 ≥ h ≥ 0.90
En la ecuación (4.2) Twti es el tiempo de arranque en el túnel principal y un solo
tubo de conexión, éste depende del número de unidades activas (Uo ).
(
0.695 si U0 = 1
Twti = (4.4)
1.083 si U0 = 2
Por último, Go es el punto de operación y tı́picamente varia de 0.5 a 0.95 para
cada unidad activa. Para mantener este ejemplo simple, un valor fijo de 0.9 será con-
siderado. A continuación se definen solamente las variables enteras siguientes:
(
0 si U0 = 1
p1 = (4.5)
1 si U0 = 2
(
0 si 0.95 ≥ h ≥ 0.90
p2 = (4.6)
1 si 1.00 ≥ h > 0.95
Si las siguientes variables enteras se definen por:

δ1 = 1 si p1 = 0 ∧ p2 = 0
δ2 = 1 si p1 = 0 ∧ p2 = 1
(4.7)
δ3 = 1 si p1 = 1 ∧ p2 = 0
δ4 = 1 si p1 = 1 ∧ p2 = 1
las cuales siguen la condición: ⊕4i=1 [δi = 1]. Definiendo:

∆ Pmech (s) = Y (s), ∆ G(s) = u(s)


122 G. A. Muñoz-Hernandez et al.

entonces el sistema (4.2) puede ser descrito como un sistema MLD en tiempo dis-
creto con T = 0.25, ver ecuación (4.8).
4
y j (k) = ∑ zi (k) (4.8)
i=1

donde la variable auxiliar zi (k) es definida por:

z1 (k) = 0.45y(k − 1) − 2.10u(k) + 2.68u(k − 1) si δ1 = 1


z2 (k) = 0.60y(k − 1) − 2.10u(k) + 2.52u(k − 1) si δ2 = 1
z3 (k) = 0.45y(k − 1) − 2.36u(k) + 3.01u(k − 1) si δ3 = 1
z4 (k) = 0.60y(k − 1) − 2.36u(k) + 2.83u(k − 1) si δ4 = 1

bajo las restricciones siguientes:

zi (k) ≤ M δi , zi (k) ≥ mδi

donde M = 1 es el valor máximo de y(k) y m = 0 es el valor mı́nimo de y(k) [6].


Por ejemplo, si h = 0.94 y Uo = 2 entonces δ3 = 1, y

z1 (k) = 0
z2 (k) = 0
z3 (k) = 0.45y(k − 1) − 2.36u(k) + 3.01u(k − 1)
z4 (k) = 0

entonces:
y1,2 (k) = 0.45y(k − 1) − 2.36u(k) + 3.01u(k − 1)
donde 1 ≥ y1,2 (k) ≥ 0.
Por otro lado, si h = 0.91 y Uo = 1, entonces: δ1 = 1, y

z1 (k) = 0.45y(k − 1) − 2.10u(k) + 2.68u(k − 1)


z2 (k) = 0
z3 (k) = 0
z4 (k) = 0

entonces:
y1 (k) = 0.45y(k − 1) − 2.10u(k) + 2.68u(k − 1)
y2 (k) = 0
donde 1 ≥ y1 (k) ≥ 0.
El sistema es por tanto descrito de forma diferente dependiendo del valor de δ i .
Por ejemplo si δ 1 = 1 sólo habrı́a una unidad activa y la cabeza hidráulica serı́a baja,
causando una ganancia de lazo abierto baja y por lo tanto un valor final también
bajo. En cambio si δ 3 = 1 la cabeza hidráulica serı́a más alta y ambas unidades
estarı́an activas, incrementándose el tiempo de arranque, dando como resultado una
constante de tiempo más larga, originando una respuesta más lenta. En uno de los
modelos de la siguiente sección se incluirán en el modelo de la planta, la válvula
4. Control Predictivo de una Planta Hidroeléctrica 123

de control y los subsistemas hidráulicos, los cuales serán presentados y evaluados


con una y seis unidades en operación, que son los casos extremos en términos de
unidades en operación.

4.3. Modelo de la planta

4.3.1. Modelo no lineal

El modelo de la planta hidroeléctrica puede ser separado en tres subsistemas:


Válvula, hidráulica y turbina / generador, Figura 4.2.

Figura 4.2 Modelo Multivariable (dos unidades) de la planta hidroeléctrica.

Como otras muchas plantas, el subsistema hidráulico de Dinorwig es natural-


mente multivariable, porque el conducto de suministro común produce un acopla-
miento dinámico significativo entre las turbinas [3]. Mansoor et al., [1] desarrollaron
un modelo multivariable no lineal que incluye lı́mites en la velocidad de crecimiento
y saturación en la dinámica de la válvula, Figura 4.3. Las principales no linealidades
en la hidráulica son la dependencia tipo raı́z cuadrada del flujo en el ángulo de la
compuerta y el que la potencia generada sea el producto del flujo y la presión [2, 3],
Figura 4.4. También son incluidos los efectos de considerar la columna de agua
como elástica tanto en el canal y como en el túnel principal. Finalmente el sub-
sistema eléctrico está basado en las ecuaciones de swing [2] e incluyen el efecto
de sincronización del torque. Un filtro de primer orden es incluido en el lazo de
retroalimentación para efectos de reducción del ruido, Figura 4.5. En este modelo
G es la apertura de la compuerta por unidad, Pmech es la potencia mecánica produci-
da por una sola turbina, Te es el tiempo de la onda de viaje (wave travel time), Zo
es la fricción (impedancia) del canal y At es la ganancia de la turbina. El valor de
Te depende directamente de lo largo del canal e inversamente de la velocidad de la
onda. Zo depende directamente del flujo e inversamente de la cabeza de agua y la
aceleración debida a la gravedad terrestre. El valor de At depende directamente de
la razón en potencia, en MW, de la turbina e inversamente de la razón de potencia,
124 G. A. Muñoz-Hernandez et al.

en MVA, del Generador. Es conveniente recordar que los modelos son expresados
en el sistema por unidad (p.u.), normalizado a 300 MW y 50 Hz.

Figura 4.3 Subsistema de válvulas.

# $
! ! ! "! %
& ' ! ( )

* + , % %
%
- %

Figura 4.4 Subsistema hidráulico.

$ %! !
#
" "

&
$ '

Figura 4.5 Subsistema turbina / generador.

El regulador actualmente instalado incluye un control individual PI en cada


turbina, de forma:
µ ¶
Ki
u(s) = K p + (∆ Pd (s) − ∆ Pes (s)) (4.9)
s
Un filtro de primer orden para reducción de ruido, ver Figura 4.5, se incluye en
cada lazo de retroalimentación de potencia, el cual tiene la función de transferencia:
4. Control Predictivo de una Planta Hidroeléctrica 125

∆ Pes (s) 1
= (4.10)
∆ Pe (s) s+1

Este modelo fue validado a través de todo el rango operacional con una simu-
lación no lineal independiente de Dinorwig, la cual ha sido validada usando res-
puestas medidas experimentalmente [1, 12].
En un sistema real algunos de sus parámetros varı́an aun cerca de un punto de
operación, G0 y q0 , por lo tanto los resultados de simulación pueden ser precisos
solamente cerca del punto de operación seleccionado durante el diseño del proceso.
Para cambios grandes de velocidad y potencia, un modelo no lineal, que asume un
fluido no comprimible, un conducto rı́gido y una cabeza hidráulica sin restricciones,
fue considerada [3]. La potencia mecánica de salida de la turbina ∆ Pm mueve al
subsistema eléctrico, cuya función de transferencia (4.11) es representada por la
bien conocida ecuación de swing [2]:

∆ Pe (s) Ks ω0 /2H
= (4.11)
∆ Pm (s) s2 + KD s/2H + Ks ω0 /2H

donde H es la constante de inercia de la turbina/generador, Ks es el coeficiente de


sincronización de torque, KD es el coeficiente de oscilación y ω 0 es la velocidad del
rotor eléctrico.

4.3.2. Modelo lineal multivariable

Los modelos no lineales son usados en este estudio para representar a la planta,
para el control predictivo se utilizará como base de cálculo un modelo lineal, esto
permitirá mantener al mı́nimo el tiempo de cómputo. En la planta de potencia con
múltiples unidades las unidades que están en lı́nea reaccionan, mediante sus regu-
ladores, a perturbaciones en la presión y flujo (y por lo tanto potencia) causadas por
otras unidades. Las unidades que no están en lı́nea tienen sus válvulas de control ce-
rradas y por tanto no interactúan. La estructura de la planta, sin embargo, varı́a con
el tiempo dependiendo del número de unidades activas. Para este modelo multiva-
riable (MIMO) linealizado de Dinorwig, una columna de agua no elástica y pérdidas
insignificantes son consideradas, además todas las seis unidades son tratadas como
idénticas (aunque es sabido que menores diferencias ocurren en la práctica debido
a las tolerancias en la manufactura). La razón de cambio en el flujo en el tubo de
conexión (penstock) puede ser determinado como:

dq gA
= (h0 − h − hi ) (4.12)
dt l
donde (p.u. es la notación por unidad):
A - sección de área a través del túnel.
ho - cabeza fija de la columna de agua p.u.
126 G. A. Muñoz-Hernandez et al.

h - cabeza en la entrada de la turbina en p.u.


hi - pérdida de cabeza hidráulica por a fricción.
l - largo del túnel.
g - aceleración debido a la gravedad.
El momento del agua en un tubo de conexión individual es:
µ ¶
li dqi
h − hi = qi0 (4.13)
Ai ga dt

La suma de las corrientes en las conexiones individuales debe ser igual al total
de la corriente en el túnel común, entonces usando (4.12) la ecuación de momento
para el agua en el túnel común es:
µ ¶
l dq1 dq2 dqn
h0 − h = + +...+ (4.14)
Aga dt dt dt

Eliminando h de la ecuación (4.14) usando la ecuación (4.13), el modelo hidráuli-


co MIMO puede ser descrito usando una matriz de relaciones (4.15); esta matriz
cambia sus valores dependiendo del número de unidades activas [13].
    0 
q˙1 Twtn Tmt · · · Tmt h1
 q˙2   Tmt Twtn · · · Tmt   h0 
    2 
 ..  =  .. .. .. ..   ..  (4.15)
 .   . . . .  . 
0
q˙n Tmt Tmt · · · Twtn hn

El efecto de acoplamiento hidráulico puede ser expresado como un incremento


efectivo en el tiempo de arranque cuando el número de unidades en lı́nea se incre-
menta [4, 13]. El tiempo de arranque total, Twtn , es dado por:

Twtn = Tw + Tmt (4.16)


En este modelo la variación del acoplamiento hidráulico será considerada co-
mo una función discreta, sin embargo, la contribución de alguna unidad activa, en
el tiempo de arranque, siempre es considerada a su máximo valor aun cuando su
válvula de control no está abierta al 100 %. Considerando el caso de dos unidades
activas:
· ¸−1 " 2Twt −2Tmt #
Twt Tmt 2 −T 2 ) G (T 2 −T 2 )
G0 (Twt
= −2Tmt
mt 0 wt
2Twt
mt (4.17)
Tmt Twt 2 2 2 2
G0 (Twt −Tmt ) G0 (Twt −Tmt )

En la ecuación (4.17) los dos tubos de conexión son considerados iguales, esto es
Twt = Twt1 = Twt2 . Un modelo MIMO, Figura 4.6, el cual incluye las seis máquinas,
será usado más tarde en simulaciones. En esta Figura ∆ G es la apertura de la válvu-
la de control, ∆ Pmech es la potencia mecánica de las turbinas y ∆ Pe es la potencia
eléctrica. El regulador, que está actualmente en operación, incluye un control indi-
vidual clásico PI en cada turbina. El bloque de hidrodinámica del modelo extendido
4. Control Predictivo de una Planta Hidroeléctrica 127

MIMO tiene la habilidad de cambiar la matriz de funciones de transferencia, esto


relaciona la potencia mecánica con la apertura de las válvulas de control, depen-
diendo del número de unidades activas. Los elementos de la matriz de función de
transferencia (G(s)) son la función de transferencia directa (elementos de la dia-
gonal) Gi (s) y el acoplamiento-cruzado de la función de transferencia (elementos
simétricos) Xi (s). Las reglas que determinan si una unidad está en lı́nea o no, son:
Unidad n está en lı́nea cuando Pdi > 0 y Unidad n está fuera de lı́nea cuando
[(∆ Pdi = 0) y (∆ Pmechi = 0)].

Figura 4.6 Modelo MIMO de una planta hidroeléctrica.


128 G. A. Muñoz-Hernandez et al.

4.3.3. Modelo MLD hidráulico

Con el objetivo de representar las caracterı́sticas no lineales de Dinorwig, sin


incrementar en un alto grado, la demanda computacional, se desarrolló un modelo
MLD de esta unidad de potencia. En el modelo de la planta eléctrica mostrado en la
Figura 4.6, los subsistemas hidrodinámicos pueden ser linealizados. Tomando como
base el bien conocido modelo multivariable publicado por un grupo de trabajo de la
IEEE [3] el subsistema hidráulico puede ser representado por una matriz de función
de transferencia G(s). Definiendo:

δi = 1 ↔ U0 = i ∀i = 1, . . . , 6 donde ⊕6i=1 [δi = 1] (4.18)


Los primeros tres casos del modelo de intervalos lineales son:


 " G1 (s)u(s)# si δ1 = 1



 G2 (s) X2 (s)

 u(s) si δ2 = 1
 X2 (s) G2 (s)
∆ Pm (s) =   (4.19)

 G3 (s) X3 (s) X3 (s)

  

  X3 (s) G3 (s) X3 (s)  u(s) si δ3 = 1



X3 (s) X3 (s) G3 (s)
donde Gi (s) y Xi (s) son, respectivamente, las funciones de transferencia directa y de
acoplamiento cruzado, las cuales varı́an de acuerdo con el punto de operación (O p )
y el número de unidades activas (Uo ), como se muestra en la Tabla 4.1 donde,

Gd (s) = f (U0 , O p ), Xc (s) = f (U0 , O p )

Unidad n está en lı́nea cuando Pdi > 0 y Unidad n está fuera de lı́nea cuando
[(∆ Pdi = 0) y (∆ Pmi = 0)].

U0 Gi (s) Xi (s)
−2.358s+3.395
1 0.076s3 +0.8204s2 +2.788s+3.031
0
−2.358s2 −5.454s+14.96 −8.559s
2 0.076s +1.26s +7.213s +16.69s+13.35 0.076s +1.26s +7.213s2 +16.69s+13.35
4 3 2 4 3
−2.358s2 −1.986s+11.01 −6.301s
3 0.076s4 +1.221s3 +6.643s2 +14.1s+9.83 0.076s4 +1.221s3 +6.643s2 +14.1s+9.83
−2.358s2 +0.03428s+8.711 −4.985s
4 0.076s4 +1.198s3 +6.311s2 +12.59s+7.778 0.076s4 +1.198s3 +6.311s2 +12.59s+7.778
−2.358s2 +1.357s+7.207 −4.124s
5 0.076s4 +1.183s3 +6.093s2 +11.6s+6.435 0.076s4 +1.183s3 +6.093s2 +11.6s+6.435
2
−2.358s +2.289s+6.145 −3.517s
6 0.076s4 +1.173s3 +5.94s2 +10.9s+5.487 0.076s4 +1.173s3 +5.94s2 +10.9s+5.487

Tabla 4.1 Variación de la matriz de la función de transferencia al número de unidades activas


(0.95 de punto de operación).

La Tabla 4.1 resume los elementos de la matriz de la función de transferencia


G(s) del modelo extendido MIMO. Estas funciones cambiaran en lı́nea dependiendo
4. Control Predictivo de una Planta Hidroeléctrica 129

de las condiciones de operación, esto es, la matriz de relaciones de la Figura 4.7


estará continuamente modificando su valor. Como fue establecido en la sección 4.2
los valores se expresan en el sistema por unidad, normalizado a 300MW y 50Hz,
asumiendo una red con carga infinita.

Figura 4.7 Modelo hidráulico no lineal.

4.4. Evaluación del modelo MLD

Exhaustivas simulaciones se llevaron a cabo para determinar la precisión del mo-


delo MLD. El modelo no elástico no lineal de la planta fue tomado como base de
comparación. Hay que recordar que el modelo MLD se empleará como base de
cálculo en el control predictivo y por lo tanto se debe mantener lo más simple posi-
ble para minimizar el tiempo de cómputo, mientras que la planta será modela me-
diante un modelo no lineal con la finalidad de representar de una forma más cercana
a la planta “real”. Los modelos fijos lineales con una y seis unidades, son también
mostradas para facilitar la comparación con el modelo lineal MLD.
Las Figuras 4.8a y 4.8b muestran las respuestas de lazo abierto de los modelos
hidráulicos, incluyendo las válvulas, cuando se aplica un escalón de 0.04 p.u. con
130 G. A. Muñoz-Hernandez et al.

el punto de operación fijo a 0.8 p.u. La Figura 4.8a muestra las respuestas con una
unidad activa, mientras que la Figura 4.8b muestra las respuestas con seis unidades
en operación. Observe que los modelos tienen un comportamiento diferente depen-
diendo del número de unidades activas. La caracterı́stica de fase no mı́nima es más
marcada en ambos casos lineales; esta y otras diferencias entre los modelos son prin-
cipalmente porque el modelo lineal no está tomando en cuenta otros factores, tales
como las pérdidas por fricción. Sin embargo, el modelo MLD tiene un desempeño
mejor o igual al modelo lineal fijo y este sigue al modelo no lineal con casi la mis-
ma precisión a pesar del número de unidades activas. Esta caracterı́stica adaptiva es
extremadamente importante cuando un control es diseñado para mantener el mismo
desempeño bajo diferentes condiciones de operación. El modelo MLD muestra una
respuesta con errores máximos de 8 % (6 unidades) y 6 % (1 unidad) con respecto
a la respuesta del modelo no lineal, mientras que aunque el modelo fijo presenta el
mismo error que el modelo MLD para el caso de seis unidades, que fue donde se
fijó, este modelo fijo presenta un error máximo de 13 % cuando una unidad está en
operación. Lo cual es más del doble de lo que presenta el modelo MLD en estas
mismas condiciones.

Figura 4.8 Respuesta al escalón de lazo abierto de los modelos MLD y no lineal con el punto de
operación en 0.8. (a) una unidad en operación y (b) seis unidades en operación.
4. Control Predictivo de una Planta Hidroeléctrica 131

Las respuestas directas y de acoplamiento cruzado del MLD y los modelos no


lineales se muestran en las Figuras 4.9a y 4.9b. La Figura 4.9a muestra la respuesta
de la unidad 1 y en la Figura 4.9b se muestran las respuestas de las unidades 2-6 en
sincronı́a. La simulación establece primero un punto de operación de 0.76 p.u. para
todas las unidades; entonces un escalón de 0.04 p.u. se aplica a la unidad 1 a 100
segundos de simulación, seguido por un escalón de la misma amplitud aplicado a las
unidades 2-6 a 110 segundos. Como se ve en las Figuras 4.9a y 4.9b, las respuestas
del modelo son comparables (10 % y 7 % de error máximo, para una y seis unidades
activas respectivamente). Sin embargo, la mejor concordancia entre los dos mode-
los, cuando seis unidades están activas, es debida a que fue el caso elegido para
fijar el punto de operación para la linealización. Los modelos lineales fijos tienen
una validez limitada, sin embargo son útiles para los estudios de control automático
(e.g. diseño y sintonización). Los modelos no lineales tienen, en muchos casos, la
exactitud requerida para simular una planta, pero son muy demandantes desde el
punto de vista computacional, por esta razón pueden presentar problemas al ser em-
pleados en tiempo-real. Los sistemas MLD proporcionan un modelo “intermedio”
que tiene una exactitud aceptable, sin ser muy demandantes computacionalmente,
por lo tanto, pudieran ser una buena elección como modelos de predicción en los
controles predictivos, como se habı́a comentado anteriormente. Se han realizado
estudios que buscan examinar la estabilidad de los sistemas MLD, una forma de
enfrentar este problema, es considerando a los modelos MLD como sistemas de in-
tervalos lineales (PLS, por sus siglas en inglés “Piecewise Linear Systems”) o en
general como sistemas hı́bridos [14].
Para el problema de estabilidad de los sistemas MLD, Pettit y Wellstead de-
sarrollaron una herramienta computacional que permite el análisis de sistemas
dinámicos de intervalos lineales [15]. Por su parte, Gonçalves et al propusieron
una metodologı́a para analizar los PLS usando mapas de impacto y funciones de
superficie de Lyapunov, su método consiste en inferir propiedades globales de PLS
únicamente estudiando el comportamiento de estos, cuando la transición entre re-
giones lineales toma lugar [16]. Johannson y Rantzer han desarrollado un método
computacional para analizar la estabilidad de sistemas hı́bridos. En su propuesta,
una función cuadrática de Lyapunov a intervalos lineales es formulada en términos
de una matriz lineal de inecuaciones tal como un problema de optimización convexa
[17].

4.5. Control predictivo MLD

Se han desarrollado muchos estudios para incluir algún grado de adaptabilidad


en los controles de plantas de potencia. Por ejemplo, Yokokawa et al., diseñaron
un control Multivariable Adaptativo que fue aplicado a un simulador de un gene-
rador térmico. El sistema de control fue diseñado para coordinar el control de la
excitación del sistema y para mejorar la estabilidad del sistema de potencia [18].
Idowu y Ghandakly desarrollaron un estabilizador de potencia digital que tiene la
132 G. A. Muñoz-Hernandez et al.

Figura 4.9 Respuesta directa y de acoplamiento-cruzado. (a) Unidad uno y (b) unidades 2-6 en
sincronı́a.

capacidad de integrar un control jerárquico en un sistema de potencia de máquinas


múltiples. El controlador propuesto tiene su base en el controlador descentralizado
Adaptativo por Modelo de Referencia [19]. Los controladores adaptativos también
han sido estudiados para su aplicación en estaciones hidráulicas de potencia. Por
ejemplo, Lansberry y Wozniak propusieron un control adaptativo proporcional más
integral, para el control de un hidrogenerador, que es ajustado mediante algoritmos
genéticos. El regulador propuesto es un controlador catalogable usando el tiempo
de llegada de la presión hidráulica (“water starting time” en inglés) y la constante
de tiempo como parámetros de ajuste [20]. Bonnet y Wozniak, por su parte, de-
sarrollaron un controlador de velocidad adaptativo para un hidrogenerador, usando
un algoritmo de identificación de mı́nimos cuadrados. Una función de transferencia
de lazo abierto para el hidrogenerador fue identificada con el propósito de usarla
en un control adaptativo basado en el método del lugar de las raı́ces [21]. Malik y
Zeng propusieron un algoritmo para el diseño robusto de estabilidad de un contro-
lador adaptativo con rectificación de polos; este algoritmo se basó en el método de
espacios paramétricos [22].
También han aparecido aplicaciones de MLD o modelos equivalentes para con-
trolar o monitorear sistemas de potencia [6]. Lu ha aplicado el control hı́brido a un
4. Control Predictivo de una Planta Hidroeléctrica 133

conjunto hidroturbina-generador [23]. Thomas et al., han usado sistemas MLD en


la detección de fallas de los sensores de un generador de vapor [24]. Ramond et al.,
propusieron al control predictivo basado en modelo para controlar el nivel del lago
que suministra agua a una planta hidroeléctrica [25]. Ferrari-Trecate et al., aplicaron
MLD como base para modelar y calcular la operación óptima de plantas de potencia
de ciclo combinado. En este trabajo, el modelo MLD que fue desarrollado tiene los
rasgos siguientes: encendido/apagado de las turbinas, minimización de los tiempos
de subida y de bajada, priorización de las restricciones entre las turbinas y diferentes
procedimientos de arranque [26].
Los controles Predictivos basados en modelo (MBPC por sus siglas en inglés,
“Model Based Predictive Control”) tienen que calcular la salida futura y las señales
de control de una planta en cada paso de iteración; los métodos MBPC usan dife-
rentes tipos de modelos de las plantas para obtener sus predicciones. Por ejemplo, el
control predictivo generalizado (GPC por sus siglas en inglés, “Generalised Predic-
tive Control”) emplea representaciones de la planta tipo CARIMA (por sus siglas en
inglés “Controller Auto-Regressive Moving-Average with Integrator”) y el control
de matriz dinámica (DMC por sus siglas en inglés, “Dynamic Matrix Control”) usa
el modelo de la planta de respuesta al escalón [27]. Los sistemas hı́bridos han sido
empleados como modelos de la planta en algunos controladores MBPC. Branicky
et al., propusieron el uso de un modelo hı́brido para representar sistemas dinámicos
en conjunto con fenómenos discretos, basados en la analogı́a de los autómatas fini-
tos con los sistemas de variables de estado [7]. Bemporad y Morari han usado los
modelos MLD para representar plantas y entradas/salidas discretas (cualitativas y
cuantitativas) como una parte de un MPBC [6]. En el método GPC [28], la función
cuadrática de costo a ser minimizada en cada tiempo de muestreo t está dada por:

N2 Nu
J(N1 , N2 , Nu ) = ∑ [ŷ(t + j|t) − w(t + j)]2 Q + ∑ [∆ u(t + j − 1)]2 R (4.20)
j=N1 j=1

donde ŷ(t + j|t) es la salida óptima predicha para la planta en la muestra j, ∆ el


operador (1 − q−1 ), N1 y N2 son el inicio y el final del horizonte de predicción de la
salida, w(t + j) es la trayectoria de referencia futura y Q y R son matrices de peso
definidas positivas las cuales actúan sobre la exactitud de la salida y el esfuerzo de
control. El controlador GPC usa R = Iλ y Q = I tal que el escalar λ juega el rol de
una ganancia de lazo inverso; un valor alto de λ penaliza al control en (4.20), lo cual
resulta en un esfuerzo de control reducido a expensas de extender el seguimiento
del error. En esta aplicación, la trayectoria de referencia w(t + j) es establecida
mediante un valor de demanda de entrada. El modelo de tiempo discreto para el
GPC es representado convenientemente en la forma CARIMA con m entradas, n
salidas y retardo de entrada d:

e(t)
A(q−1 )y(t) = q−d B(q−1 )u(t − 1) +C(q−1 ) (4.21)
1 − q−1
134 G. A. Muñoz-Hernandez et al.

donde A(q−1 ) y C(q−1 ) son matrices de polinomios mónicos de orden nxn, mientras
que B(q−1 ) es una matriz polinomial de orden nxm; e(t) es el error. Las matrices A,
B y C fueron obtenidas usando un modelo MLD. Este modelo MLD produce una
representación CARIMA de intervalos lineales, cuya estructura y valores exactos
dependen del número de unidades activas de la estación hidroeléctrica bajo estu-
dio. El modelo MLD también depende del punto de operación. Es común formular
las leyes de control con la suposición de que los estados de las plantas y los con-
troles poseen un rango ilimitado. Para resolver este problema, GPC suministra una
solución computacionalmente eficiente en el control óptimo de la señal:

u∗ = argu min(J) (4.22)


En la práctica, todas las plantas están sujetas a restricciones, tanto por razones
de construcción como de seguridad. El MBPC usualmente considera tres tipos de
restricciones: saturación de las señales de control, limitación en el crecimiento y
lı́mite en los valores de las señales de salida. La ecuación (4.23) muestra dichas
restricciones:

Lı́mite de control u ≤ u(t) ≤ u ∀t


Lı́mite de crecimiento del control ∆ u ≤ u(t) − u(t − 1) ≤ ∆ u ∀t (4.23)
Lı́mite en la salida y ≤ y(t) ≤ y ∀t

Aquı́, el crecimiento del control está limitado a −0.2 ≤ ∆ u ≤ 0.2p.u. (aproxima-


damente el doble del valor actual). Una estrategia efectiva para incluir la limitación
de saturación de la señal de control es emplear las ecuaciones siguientes:

0 ≤ u ≤ Ped /At P˙ed > 0


(4.24)
Ped /At ≤ u ≤ 1/At P˙ed < 0
i.e. a la señal de control nunca se le permite exceder el valor fijado por la demanda de
potencia (Ped ). La inclusión de restricciones en (4.20) convierte esta ecuación en un
problema de programación cuadrática. Este es resuelto en cada instante de muestreo
usando el método de Newton interior-reflexivo con la solución sin restricciones co-
mo el punto inicial de partida. Este método iterativo incrementa sustancialmente el
tiempo de cálculo comparado con la solución sin restricciones del GPC.

4.6. Evaluación del control predictivo MLD

El modelo MLD representa de mejor manera a la planta, esto nos permite usar
un horizonte de predicción más corto, decrementando con esto el tiempo de cálculo,
además los factores de peso del control son reducidos (λ ), acelerando la respuesta
del sistema. El modelo MLD de Dinorwig, discutido en las secciones 4.3 y 4.4, es
empleado en el control predictivo MLD-GPC para el cálculo de las predicciones.
El MLD-GPC fue sintonizado con N = 10 (horizonte de predicción) y Nu = 10
4. Control Predictivo de una Planta Hidroeléctrica 135

(horizonte de control), para tener 2.5 segundos de predicción. Al factor de peso de


la trayectoria de referencia futura α se le asignó un valor de cero. Los valores de λ
fueron determinados para producir una respuesta rápida, por esta razón la estrategia
de limitar la señal de control mediante saturación fue empleada para mantener en
cierto rango esta señal en cada instante de muestreo de acuerdo a la ecuación (4.24).
λ fue ajustado usando la técnica de catalogar la ganancia. λ = 40 cuando sólo una
unidad está en operación, con un incremento lineal de 3, por cada unidad activa,
por tanto λ = 55 cuando seis unidades están en operación. En este trabajo, con
el objetivo de determinar la mejora en el control de Dinorwig cuando un MLD-
GPC es usado, éste es comparado con un control adaptativo PI tipo catalogador
[29], donde la ley PI tiene la caracterı́stica de limitar el cremiento bajo el modo
integral cuando la señal de salida está al borde de la saturación (anti-windup). Como
ambos controladores tienen un modo adaptativo, la evaluación ha sido mejorada
con respecto a realizar la comparación con un controlador PI clásico, tal como el
instalado actualmente en Dinorwig. El PI adaptativo, denominado Scheduled PI, fue
ajustado con K = 0.175 y Ti = 1.2 para una unidad en operación y con K = 0.165 y
Ti = 0.667 para seis unidades operando.
Las Figuras 4.10a y 4.10b muestran la respuestas del modelo elástico no lineal de
Dinorwig con una entrada rampa (0.3 p.u. por segundo) bajo ambos controladores,
MLD-GPC y Scheduled PI. La Figura 4.10a muestra el caso de una sola unidad
operando, mientras la Figura 4.10b muestra el caso de seis unidades activas; como
puede apreciarse en ambos casos la respuesta de la planta bajo MLD-GPC es la más
rápida, en un 19 % cuando una unidad está activa y en un 50 % cuando seis unidades
están en operación, ambos casos considerándola cabeza hidráulica del lago al 100 %
(H=1). En estas Figuras se muestra también el desempeño de los controladores con
diferentes cabezas hidráulicas en el lago (1 y 0.9 p.u.). Cuando la cabeza hidráulica
del lago sufre variaciones, la respuesta primaria [30] es afectada en prácticamente
la misma proporción en ambos controladores.
Las Figuras 4.11a y 4.11b muestran las respuestas de la planta a un escalón
pequeño (0.04 p.u.), el MLD-GPC es más rápido que el Scheduled PI en ambos
casos: con una unidad en operación en un 20 % (Figura 4.11a) y con seis unidades
en operación en un 40 % (Figura 4.11b). Cuando la cabeza hidráulica del lago sufre
variación, la respuesta primaria es ligeramente más afectada, en un 10 %, cuando el
Scheduled PI controla la planta. Un estudio del desempeño de los controladores con
diferentes puntos de operación fue llevado a cabo. Un escalón de 0.04 p.u. fue apli-
cado al sistema con diferentes valores de estado estable inicial. Las Figuras 4.12a
y 4.12b muestran el desempeño del sistema bajo el controlador Scheduled PI, con
un estado estable inicial a 0.5 p.u. para la Figura 4.12a y con un estado estable ini-
cial a 0.84 p.u. para la Figura 4.12b. La respuesta primaria sufre variaciones muy
marcadas en todos los casos, la mayor cuando seis unidades están en operación y
la cabeza hidráulica del lago cambia de 1.0 a 0.9 p.u. Las Figuras 4.13a y 4.13b
muestran el desempeño del sistema bajo el control del MLD-GPC cuando las en-
tradas tipo escalón son aplicadas en diferentes puntos de operación, con un estado
estable inicial a 0.5 p.u. para la Figura 4.13a y con un estado estable inicial a 0.84
136 G. A. Muñoz-Hernandez et al.

Figura 4.10 Respuesta a entradas rampas grandes con diferentes cabezas hidráulicas del lago (H),
para una (a) y seis (b) unidades en operación.

p.u. para la Figura 4.13b. Con este controlador, la respuesta primaria permanece
prácticamente constante en todos los casos.

4.7. Conclusiones

Los resultados de simulación han mostrado como el MLD-GPC puede ser apli-
cado para mejorar las caracterı́sticas de respuesta de Dinorwig. El tomar en cuenta
la naturaleza multivariable de la planta mejora directamente la respuesta a tran-
sientes, con respecto al desempeño de la planta bajo el controlador Scheduled PI.
La selección de diferentes valores de λ dependiendo del número de unidades activas
permite al MLD-GPC producir una respuesta rápida en cada modo de operación. La
inclusión de restricciones de saturación en la señal de salida y en el crecimiento de
la señal de control, lleva a una rápida respuesta sin sobretiros en el caso de una so-
la unidad en operación, sin comprometer la estabilidad cuando múltiples unidades
están en lı́nea. El MLD-GPC permite también un buen desempeño cuando diferentes
cabezas hidráulicas del lago son probadas en la planta de poder. En general estos re-
sultados son muy prometedores y nos permiten visualizar trabajos futuros emplean-
4. Control Predictivo de una Planta Hidroeléctrica 137

Figura 4.11 Respuesta a escalones pequeños con diferentes cabezas hidráulicas del lago (H), para
una (a) y seis (b) unidades en operación.

do el MLD-GPC como regulador de la planta de potencia Dinorwig. Por ejemplo,


reglas de control de alto-nivel podrı́an ser integradas en el MLD-GPC, expandien-
do el alcance del control a aspectos económicos y operacionales que pudieran ser
integrados en la formulación de los problemas de optimización.

Referencias

1. S. P. Mansoor, D. I. Jones, D. A. Bradley, F. C. Aris and G. R. Jones, “Reproducing oscillatory


behaviour of a hydroelectric power station by computer simulation, and constraints”, Control
Engineering practice, 2000, Vol. 8, pp. 1261-1272.
2. P. Kundur, “Power System Stability and Control New York ”, Mc Graw Hil, 1994, New York,
U.S.A.
3. Working group on prime mover energy supply, “Hydraulic turbine and turbine control model
for system dynamic studies ”, IEEE Transactions on Power Systems, 1992, Vol. 7, pp. 167-179.
4. S. P. Mansoor, “Behaviour and Operation of Pumped Storage Hydro Plants”, University of
Bangor, 2000, Bangor, U.K.
5. H. S. Witsenhausen, “A Class of Hybrid-State Continuous-Time dynamic systems”, IEEE
Transactions on Automatic Control, 1966, Vol. 11, pp. 161-167.
6. A. Bemporad and M. Morari, “Control of systems integrating logic, dynamics and con-
straints”, Automatica, 1999, Vol. 35, pp. 407-427.
138 G. A. Muñoz-Hernandez et al.

Figura 4.12 Respuesta a escalones pequeños bajo el controlador Scheduled PI con diferentes
cabezas hidráulicas del lago (H), para una (a) y seis (b) unidades en operación.

7. M. S. Branicky, V. S. Borkar and S. K. Mitter, “A unified framework for Hybrid Control:


Model and Optimal control theory”, IEEE Transactions on Automatic Control, 1998, Vol. 43,
pp.31-45.
8. A. Gollu and P. H. Varaiya, “Hybrid Dynamical Systems”, 28th Conference on Decision and
Control, 1989, Tampa, Florida. U.S.A., pp. 2708-2712.
9. T. M. Cavalier, P. M. Pardalos and A. L. Soyster, “Modelling and integer programming tech-
niques applied to propositional calculus)”, Computers and Operations Research, 1990, Vol.
17, pp. 561-570.
10. M. L. Tyler and M. Morari, “Propositional logic in control and monitoring problems”, Auto-
matica, 1999, Vol. 35, pp. 565-582.
11. H. P. Williams, “Logic applied to integer programming and integer programming applied to
logic”, European Journal of Operational Research, 1995, Vol. 81, pp. 605-616.
12. S. P. Mansoor, D. I. Jones, D. A. Bradley, F. C. Aris and G. Jones, “Stability of a pumped stor-
age hydropower station connected to a power system”, IEEE Power Eng. Soc. Winter Meeting,
1999, New York, U.S.A., pp. 646-650.
13. L. N. Hannet, J. W. Feltes, B. Fardanesh and W. Crean, “Modeling and Control Tuning of a
Hydro Station with Units Sharing a Common Penstock Section”, IEEE Transactions on Power
Systems, 1999, Vol. 14, pp. 1407-1414.
14. A. Bemporad, W. P. Heemelsm and B. De Schutter, “On Hybrid Systems and close-loop MPC
systems ”, Decision and Control, 2001, Orlando, USA, pp. 1645-1650, IEEE.
15. N. Pettit and P. Wellstead, “Analyzing Piecewise Linear Dynamical Systems ”, IEEE Control
Systemsl, 1995, Vol. 15, No. 5, pp. 43-50.
4. Control Predictivo de una Planta Hidroeléctrica 139

Figura 4.13 Respuesta a escalones pequeños bajo el controlador MLD-GPC con diferentes
cabezas hidráulicas del lago (H), para una (a) y seis (b) unidades en operación.

16. J. M. Goncalves, A. Megretski and M. A. Dahleh, “Global Analysis of Piecewise Linear Sys-
tems using impact maps and surface Lyapunov functions”, IEEE Transactions on Automatic
Control, 2003, Vol. 48, No. 12, pp. 2089-2106.
17. M. Johannson and A. Rantzer, “Computation of piecewise quadratic Lyapunov functions for
hybrid systems”, IEEE Transaction on Automatic Control, 1998, Vol. 43, pp. 555-559.
18. S. Yokokawa, Y. Ueki, H. Tanaka, H. Doi, K. Ueda and N. Taniguchi, “Multivariable Adaptive
control for a thermal generator”, IEEE Transactions on Energy Conversion, July 1988, Vol. 3,
No. 3, pp. 479-486.
19. P. Idowu and A. Ghandakly, “A coordinated adaptive stabilizer for multimachine power sys-
tems”, Proceedings of the Twenty-First Annual North-American Power Symposium, 1989, pp.
175-184.
20. J. E. Lansberry and L. Wozniak, “Adaptive Hydrogenerator Governor tuning with a Genetic
Algorithm”, IEEE Transaction on Energy Conversion, 1994, Vol. 9, No. 1, pp. 179-186.
21. S. Bonnet and L. Wozniak, “Adaptive speed control of Hydrogenerators by recursive least
squares identification algorithm ”, IEEE Transaction on Energy Conversion, 1995, Vol. 10,
No. 1, pp. 162-168.
22. O. P. Malik and Y. Zeng, “Design a robust adaptive controller for a water turbine governing
system”, IEEE Transactions on Energy Conversion, 1995, Vol. 10, No. 2, pp. 354-359.
23. Q. Lu, “SDM hybrid control approach for nonlinear systems and application to power sys-
tems”, International Conference on Power Control, 2002, China, pp.19-23.
140 G. A. Muñoz-Hernandez et al.

24. J. Thomas, D. Dumur and D. Buisson, “Moving horizon state estimation of hybrid systems.
Application to fault detection of sensors of a steam generator”, IEEE Int. Conf. on Control
Applications, 2003, pp. 1375-1380.
25. G. Ramond, D. Dumur, A. Libaux and P. Boucher, “Direct Adaptive Predictive Control of
an hydro-electric plant”, 2001, IEEE Int. Conf. on Control Applications, Mexico, D. F., pp.
606-611.
26. G. Ferrari-Trecate, E. Gallestey, P. Leticia, M. Spedicato, M. Morari and M. Antoine, “Mod-
eling and Control of Co-Generation Power Plants: A Hybrid System Approach”, IEEE Trans-
actions on Control Systems Technology, 2004, Vol. 12, No. 5, pp. 694-705.
27. E. F. Camacho and C. Bordons, “Springer-Verlag“Model Predictive Control ”, Springer-
Verlag, 1999.
28. D. W. Clarke and C. Mohtadi P. S. Tuffs, “Generalized Predictive Control (Part I The basic
algorithm) ”, Automatica, 1987, Vol. 23, pp. 137-148.
29. G. A. Munoz-Hernandez, D. I. Jones and S. I. Fuentes-Goiz, “Modelling and Simulation of a
hydroelectric power station using MLD”, CONIELECOMP, 2005, pp. 83-88.
30. D. I. Jones, S. P. Mansoor, F. C. Aris, G. R. Jones, D. A. Bradley and D. J. King, “A standard
method for specifying the response of hydroelectric plant in frequency-control mode”, Electric
Power Systems Research, 2004, Vol. 68, pp. 19-32.
Capı́tulo 5
Lazos de Corriente en Sistemas
Electromecánicos

V. M. Hernández-Guzmán

Resumen En este capı́tulo se presenta el diseño de controladores para sistemas elec-


tromecánicos cuando son controlados usando la técnica conocida como control de
par o de corriente. Se presenta un estudio formal que permite establecer las condi-
ciones para asegurar estabilidad asintótica del sistema en lazo cerrado. Aunque esta
técnica es utilizada desde hace tiempo en la industria, sin embargo hasta ahora no
existı́a un análisis que justificara su uso de manera formal.

5.1. Introducción

Cuando se controlan sistemas mecánicos que son actuados usando motores


eléctricos es práctica común hacer el diseño considerando que la entrada de control
son los pares aplicados al subsistema mecánico. La principal razón para hacer esta
suposición es que el introducir un subsistema eléctrico entre el sistema mecánico
y la entrada, tradicionalmente ha complicado mucho el diseño de control [1]. La
manera de conseguir esto es despreciando la dinámica eléctrica de los motores. Sin
embargo, es bien sabido que la entrada de control verdadera son los voltajes apli-
cados a los motores y el par generado por los mismos es resultado de la dinámica
eléctrica de los motores. Más aún, algunos estudios [2], [3], [4] han mostrado que
despreciar la dinámica eléctrica de los motores durante la etapa de diseño puede
resultar en malos desempeños del sistema de control e incluso puede inducirse in-
estabilidad.
Por otro lado, existe una estrategia de control que ha resultado muy exitosa en la
práctica, sobre todo en la industria, que se conoce como control de par o de corriente

V. M. Hernández-Guzmán
Universidad Autónoma de Querétaro.
Facultad de Ingenierı́a.
A.P. 3-24, Querétaro, Qro. 76150, MEXICO
e-mail: vmhg@uaq.mx

141
142 V. M. Hernández-Guzmán

[5], [6]. Esta técnica de control utiliza un lazo interno de corriente con el que se
trata de conseguir que el par generado por los motores alcance rápidamente el par
deseado. Esta consigna de par está especificada por un lazo externo que actúa sobre
la variable a controlar, es decir, por un controlador PID o PD de posición. Aunque
en la literatura académica se argumenta que la inductancia es pequeña, sin embargo
en la práctica industrial esto no es necesario y el control de par o de corriente es
el método que permite suponer que el par es la señal de control y que la dinámica
eléctrica de los motores puede ser despreciada.
Sin embargo, aún en el presente, el diseño usando control de par o de corriente se
realiza utilizando ideas intuitivas porque no se han propuesto métodos analı́ticos que
presenten justificaciones formales para dicha estrategia de control. En este capı́tu-
lo se presenta un estudio formal que el autor ha propuesto en la literatura [7], [8]
el cual prueba la estabilidad en lazo cerrado de sistemas electromecánicos cuando
son controlados usando control de par o de corriente. Este estudio de estabilidad es
desarrollado tomando en consideración la dinámica eléctrica de los motores utiliza-
dos. Esto significa que el análisis aquı́ presentado evita la posibilidad de los malos
desempeños y de las inestabilidades que pueden aparecer cuando no se considera la
dinámica eléctrica de los motores durante el diseño.
El presente capı́tulo se divide en dos partes. En la sección 5.2 se presenta el
problema de controlar motores de CD con escobillas mientras que en la sección 5.3
se presenta el problema de controlar robots manipuladores equipados con motores
de CD sin escobillas. En ambos casos se presentan resultados en simulación que
permiten apreciar el desempeño obtenido.

5.2. Control de posición de un motor de CD con escobillas

Un motor de CD con escobillas es quizá el sistema electromecánico más sencillo


desde el punto de vista de control y por eso es abordado como primer ejemplo de
estudio. La propiedad de que el modelo dinámico es lineal y el hecho de usar un
controlador PID para establecer la consigna de par permite utilizar técnicas clásicas
para demostrar formalmente la estabilidad del sistema en lazo cerrado. Sin embargo,
es conveniente decir que, a pesar de ello, esta es la primera vez que se presenta un
análisis como este para un motor de CD con escobillas.

5.2.1. Modelo dinámico

En la figura 5.1 se muestra un motor de CD con escobillas y con imanes perma-


nentes que mueve a una carga a través de una caja de engranes. La nomenclatura
utilizada es la siguiente.
u es el voltaje aplicado en las terminales de armadura del motor.
i es la corriente eléctrica de armadura.
5. Lazos de Corriente 143

Ra L
+ i + T Ê T c n1
u ea Jm bL
Tp
à à bm JL
n2 T L ò

Figura 5.1 Motor de CD con escobillas.

Θ es la posición angular del rotor del motor.


θ es la posición angular de la carga.
ea = keΘ̇ es la fuerza contra-electromotriz, donde ke es la constante de fuerza
contra-electromotriz.
T = km i es el par electromagnético generado, donde km es la constante de par del
motor.
Tc es el par equivalente de la carga reflejado sobre la flecha del motor. Este par
se opone al movimiento del motor (sentido contrario a Θ ).
TL es el par aplicado (por el motor) sobre la carga.
Tp es un par de perturbación que se aplica desde el exterior. Se supone que este
par se opone al movimiento de la carga (sentido contrario a θ ). Si no es ası́ todo
es cuestión de considerar que Tp es negativo.
L es la inductancia de armadura.
Ra es la resistencia de armadura.
Jm es la inercia del rotor del motor.
bm es la constante de fricción viscosa del motor.
JL es la inercia de la carga.
bL es la constante de fricción viscosa de la carga.
n1 y n2 representan el número de dientes del engrane del eje del motor y del eje
de la carga, respectivamente.

El modelo matemático del conjunto motor-carga está dado por [9], pp. 139:

di
L = u − Ra i − n ke θ̇ (5.1)
dt
J θ̈ = −b θ̇ + n km i − Tp (5.2)

donde:
n2
Θ = n θ, n= (5.3)
n1
J = n2 Jm + JL , b = n2 bm + bL

Nótese que este mecanismo es un sistema electromecánico compuesto por un sub-


sistema eléctrico (5.1) y un subsistema mecánico (5.2).
144 V. M. Hernández-Guzmán

5.2.2. Diseño del controlador

Considere la siguiente ley de control:


Z t
u = −ra i + k p θ̃ − kd θ̇ + ki θ̃ (σ )d σ , θ̃ = θd − θ (5.4)
0

donde θd es una constante que representa la posición deseada mientras que ra , k p ,


kd , ki son constantes positivas que deberán satisfacer ciertas condiciones que serán
presentadas más adelante. Defı́nase:
µ Z t ¶
ρ = i − R−1 k p θ̃ + ki θ̃ (σ )d σ (5.5)
0
−1
k p = k p + LR ki , kd = kd + LR−1 k p , R = Ra + ra (5.6)

Sustituyendo (5.4) en (5.1), considerando (5.5), (5.6) y definiendo kd = n km R−1 kd


se obtiene:

Lρ̇ = −Rρ − (nke + kd R/(nkm ))θ̇ (5.7)

Por otro lado, nótese que la parte mecánica (5.2) se puede escribir como:
µ Z t ¶
J θ̈ + b θ̇ = n km i − n km R−1 k p θ̃ + ki θ̃ (σ )d σ
0
µ Z t ¶
+n km R−1 k p θ̃ + ki θ̃ (σ )d σ − Tp
0
Z t
= n km ρ + k p θ̃ + ki θ̃ (σ )d σ − Tp (5.8)
0

donde se han definido:

k p = n km R−1 k p , ki = n km R−1 ki (5.9)

Derivando (5.8) una vez respecto al tiempo, usando θ̃ = θd − θ recordando que θd


es una constante y suponiendo que Tp es una constante se obtiene:

−J θ̃ (3) − b θ̃¨ − k p θ̃˙ − ki θ̃ = n km ρ̇ (5.10)

Nótese que θ̃˙ = −θ̇ porque θd es una constante y, por tanto, sθ̃ (s) = −sθ (s). Apli-
cando la transformada de Laplace a (5.7) y (5.10) y usando la observación anterior:

(nke + kd R/(nkm ))s


ρ (s) = θ̃ (s) (5.11)
Ls + R
n km s
θ̃ (s) = 3 [−ρ (s)] (5.12)
Js + b s2 + k p s + ki
5. Lazos de Corriente 145

donde el argumento en la variable s sirve para indicar que se trata de la transformada


de Laplace de la variable correspondiente. Estas expresiones definen el sistema en
lazo cerrado mostrado en la figura 5.2, el cual es equivalente al sistema en lazo
cerrado original definido por (5.1), (5.2), (5.4). Con el fin de estudiar la estabilidad
de este sistema en lazo cerrado primero se estudiarán las caracterı́sticas de los polos
de la función de transferencia en (5.12).

+ nk m òe(s)
0 Js 3+bs 2+k p s+k i
s
à

ú(s) (nk e+k dR=(nk m ))


Ls+R
s

Figura 5.2 Sistema en lazo cerrado definido por (5.11) y (5.12).

+ 1 òe(s)
à ú(s) nk m Js 2+bs
à

k ps+k i
s

Figura 5.3 Sistema en lazo cerrado equivalente a la función de transferencia en (5.12).

Nótese que la función de transferencia en (5.12) es idéntica a la función de trans-


ferencia de lazo cerrado del sistema mostrado en la figura 5.3, es decir:

nkm Js21+bs nkm s


= (5.13)
1+
k p s+ki 1 Js3 + bs2 + k p s + ki
s Js2 +bs

Esto significa que los polos de la función de transferencia en (5.12) pueden ser
determinados usando la técnica del lugar de las raı́ces en el sistema en lazo cerrado
de la figura 5.3. En la figura 5.4 se muestra el lugar de las raı́ces correspondiente, el
cual se obtiene de la siguiente manera. La función de transferencia de lazo abierto
en la figura 5.3 está dada como:

s − (−ki /k p ) 1/J
kp (5.14)
s s(s − (−b/J))
146 V. M. Hernández-Guzmán

Im (s)
kp ! 1

!n
kp ! 1
+ 90 î
à b=J ûa
ï Re (s)
0
à k i=k p à 90 î
àa
!n
ï

kp ! 1

Figura 5.4 Lugar de las raı́ces del sistema en lazo cerrado de la figura 5.3.

Nótese que k p es el valor que el método del lugar de las raı́ces varı́a desde 0 hasta
+∞ y que mientras esto sucede también cambia el valor de ki de manera que el
cociente ki /k p permanece constante. Usando fórmulas propias del método del lugar
de las raı́ces, [9] Caps. 6 y 7, se obtiene:

0 + 0 − b/J − (−ki /k p ) −b/J + ki /k p


σa = = (5.15)
3−1 2
Por otro lado, el ángulo formado por las ası́ntotas que pasan por s = σa sobre el eje
real está dado como:
±180o (2q + 1)
ángulo de las ası́ntotas = , q = 0, 1, 2, . . . (5.16)
3−1
lo cual resulta en

ángulo de las ası́ntotas = ±90o , ±(3/2)180o , ±(5/2)180o , . . . (5.17)

Por otro lado, aplicando el criterio de Routh, [9] Cap. 5, al polinomio Js3 + b s2 +
k p s + ki se obtiene la tabla 5.1. De acuerdo a (5.15), (5.17), la tabla 5.1 y la figura
5.4, se concluye lo siguiente para los polos de la función de transferencia en (5.13)
y, por tanto, de la función de transferencia en (5.12):
Los tres polos tienen parte real negativa de modo que dos serán complejos con-
jugados y uno real si:
5. Lazos de Corriente 147

s3 J kp
s2 b ki
bk p −Jki
s1 b 0
s0 ki
Tabla 5.1 Aplicación del criterio de Routh al polinomio Js3 + b s2 + k p s + ki .

b ki
> , ki > 0 (5.18)
J kp

Dos polos complejos conjugados tienen parte real positiva mientras que el tercero
es real y negativo si:

b ki
< , ki > 0 (5.19)
J kp

Hay dos polos con parte real cero sobre el eje imaginario y el tercero tiene parte
negativa si:

b ki
= , ki > 0 (5.20)
J kp

Es conveniente resaltar que las condiciones bJ < kkpi y ki > 0 son las que normal-
mente se cumplen debido a que el coeficiente de fricción viscosa b comúnmente
es pequeño mientras que la ganancia integral ki comúnmente se selecciona grande
para obtener respuestas transitorias rápidas. Ası́ que se puede afirmar que la fun-
ción de transferencia en (5.12) tiene dos polos complejos conjugados con parte real
positiva y otro real y negativo. Suponga que los polos complejos conjugados están
a una distancia ωn del origen y que el polo real está ubicado en s = −a donde
b/J < a < ki /k p . En el lugar de las raı́ces de la figura 5.4 se puede apreciar que para
valores suficientemente grandes de k p se tiene que ωn > a.
Con estos antecedentes, ahora se estudiará la estabilidad del sistema en lazo ce-
rrado (5.11), (5.12), es decir, el mostrado en la figura 5.2. Para esto se hará uso del
criterio de estabilidad de Nyquist [9] Cap. 8. De acuerdo a la discusión anterior, la
función de transferencia en (5.12) se puede escribir como sigue si bJ < kkpi y ki > 0:

n km s n km a ωn2
= s (5.21)
Js3 + b s2 + k p s + ki Jaωn2 (s + a) (s2 − 2ζ ωn s + ωn2 )

donde 0 < ζ < 1, ωn > 0, a > 0. Además se supondrá que k p es suficientemente


grande de manera que ωn > a. Por tanto, la función de transferencia de lazo abierto
del sistema en lazo cerrado de la figura 5.2 se puede escribir como:

(n2 ke km + kd R) R/L a ωn2


G(s)H(s) = s2 (5.22)
Jaωn2 R s + R/L (s + a) (s2 − 2ζ ωn s + ωn2 )
148 V. M. Hernández-Guzmán

En la figura 5.5 se muestran las gráficas de Bode, [9] Cap.8, de cada una de las
funciones de transferencia que componen a la función de transferencia en (5.22)
ası́ como la gráfica de Bode de G(s)H(s). A partir de esto se obtiene la gráfica
polar, [9] Cap. 8, que se muestra en la figura 5.6. Nótese que el término de segundo
orden introduce un adelanto de fase, lo cual es debido a que contiene dos polos
inestables. Como G(s)H(s) tiene dos ceros sobre el eje imaginario el criterio de
estabilidad de Nyquist requiere que se dibuje la gráfica polar de G(s)H(s) obtenida
al recorrer la trayectoria de Nyquist modificada, [9] Cap. 8, que en este caso incluye
un semicı́rculo al rededor de s = 0. No es difı́cil comprobar que la gráfica polar
correspondiente es idéntica a la gráfica mostrada en la figura 5.6 ya que los dos
ceros que tiene G(s)H(s) sobre el eje imaginario están en s = 0.

dB
ii)
vi)

i)
a !n R=L
0 !
1

iii) iv) v)

(a) Gráfica de magnitud.

fase vi)
[grados]

ii)
+ 180

iv)

a !n R=L
0 !
iii) v)
à 90

(b) Gráfica de fase.

Figura 5.5 Gráficas de Bode de la función de transferencia de lazo abierto


, iv): (s2 −2ζωωn s+ω 2 ) , v): s+R/L
2 k +k R) 2
en (5.22). i): (n kJa
e m
ω2R
d a
, ii): s2 , iii): (s+a) R/L
, vi):
n n n
(n2 ke km +kd R) R/L a ωn2
Jaωn2 R s+R/L (s+a) (s2 −2ζ ωn s+ωn2 ) s2 .

De acuerdo a lo expuesto anteriormente, el número de polos inestables de la


función de transferencia de lazo abierto G(s)H(s) es dos, es decir P = 2, cuando bJ <
ki
k p y ki > 0. Por tanto, de acuerdo al criterio de Nyquist se debe cumplir que N + P =
0 para que haya estabilidad en lazo cerrado. Con el fin de satisfacer esta condición
5. Lazos de Corriente 149

Im (G(j!)H(j!))

ï
(à 1; j0) 0 Re (G(j!)H(j!))

Figura 5.6 Gráfica polar de la función de transferencia de lazo abierto en (5.22).

es necesario que N = −2, es decir, que el punto (−1, j0) del plano mostrado en
la figura 5.6 sea rodeado dos veces en sentido antihorario. De acuerdo a la gráfica
polar en la figura 5.6 y a las gráficas de Bode en la figura 5.5, esto es posible si
ωn > a, es decir si k p es suficientemente grande, porque esto introduce el atraso de
fase necesario para conseguir N = −2.
Por otro lado, es común que en la práctica se utilice un valor grande de ra , lo cual
resulta en un valor grande de R. Bajo dichas condiciones se tiene que kd R À n2 ke km
y, por tanto, la función de transferencia en (5.22) se reduce a:

kd R/L a ωn2
G(s)H(s) = s2 (5.23)
Jaωn s + R/L (s + a) (s − 2ζ ωn s + ωn2 )
2 2

Nótese que para conseguir dos rodeos antihorarios al punto (−1, j0) en la figura
5.6 es necesario un valor suficientemente grande del factor Jakωd 2 . Por otro lado, tal
n
como se ha mencionado, el valor de ωn2 crece al aumentar k p , lo cual es necesario
para conseguir la condición ωn > a. Por tanto, es necesario utilizar también un valor
suficiente grande de kd .
De acuerdo a lo anterior, se ha conseguido probar el siguiente resultado.
Proposición 5.1. El polinomio caracterı́stico del sistema en lazo cerrado (5.1),
(5.2), (5.4) tiene todas sus raı́ces con parte real negativa si las ganancias ra , k p ,
kd , ki se seleccionan de manera que la gráfica polar de la siguiente función de
transferencia:
150 V. M. Hernández-Guzmán

(nke + kd R/(nkm ))s n km s


(5.24)
Ls + R Js + b s2 + k p s + ki
3

rodea dos veces en sentido antihorario al punto (−1, j0). Una manera de conseguir
esto es la siguiente:
Defı́nase:

k p = k p + LR−1 ki , kd = kd + LR−1 k p , R = Ra + ra (5.25)


−1 −1 −1
kd = n km R kd , k p = n km R k p , ki = n km R ki

b ki
Elı́jase k p y ki de manera que J < kp y ki > 0.
Elı́jase k p suficientemente grande de modo que ωn > a, donde Js3 + b s2 + k p s +
ki = J(s + a)(s2 − 2ζ ωn s + ωn2 ) para algún 0 < ζ < 1.
Elı́jase kd suficientemente grande de manera que haya dos rodeos en sentido
antihorario al rededor del punto (−1, j0).

Comentario 5.1. El par generado τ por un motor de CD con escobillas, a través de


una caja de engranes con tasa de reducción n, está dado como τ = nkm i, es decir,
el par es proporcional a la corriente eléctrica. Esto motiva una práctica común en la
industria que consiste en diseñar manejadores para estos motores que incluyen un
controlador de corriente que asegura que se genera el par deseado. Esta estrategia
se conoce como control de par o control de corriente. Esto significa que el voltaje
aplicado al motor se calcula mediante:

u = γ (i∗ − i) (5.26)

donde γ es una constante positiva mientras que i∗ representa el valor que la corriente
eléctrica i debe alcanzar para generar el par deseado τ ∗ , es decir:
1 ∗
i∗ = τ (5.27)
nkm
En el caso en el que se utiliza un controlador PID para establecer el par deseado se
tiene que:
Z t
τ ∗ = κ p θ̃ − κd θ̇ + κi θ̃ (σ )d σ (5.28)
0

Nótese que se puede obtener el controlador (5.4) a partir de (5.26), (5.27) y (5.28)
si se establece lo siguiente:
γ γ γ
γ = ra , kp = κp, kd = κd , ki = κi (5.29)
nkm nkm nkm
Es importante señalar que en la práctica se seleccionan valores muy grandes de ra ,
[10] pp.76, de manera que ra À Ra y, por tanto, R ≈ ra = γ . Por otro lado, usando
las expresiones en (5.25) se obtiene:
5. Lazos de Corriente 151

R L R L R
kp = kp + ki , kd = kd + kp, ki = ki (5.30)
nkm nkm nkm nkm nkm
De acuerdo al párrafo anterior R ≈ γ es muy grande y, por tanto, se pueden des-
preciar los segundos términos que están en el lado derecho de estas expresiones.
Entonces, comparando (5.30) y (5.29) se concluye que κ p ≈ k p , κd ≈ kd , κi ≈ ki .

Finalmente, es importante señalar que el resultado de la proposición 5.1, expresado


en términos de la función de transferencia dada en (5.24), es válido aún si no se
cumple que ra À Ra . Nótese además que no es necesario suponer que la inductancia
L es pequeña.

5.2.3. Resultados en simulación

Ahora se presenta un ejemplo en simulación que, sin embargo, utiliza los valo-
res numéricos de un motor real. Este motor es el modelo MT-4060 ALYBE [11]:
L = 9.6 × 10−3 [H], km = 0.573[Nm/A], ke = 0.573[V/(rad/s)], Ra = 2.3[Ohm],
Jm = 12.43 × 10−4 [kgm2 ], bm = 0.001[Nm/(rad/s)]. Además se supone que exis-
te una carga cuyos valores son los siguientes JL = 120.43 × 10−4 [kgm2 ], bL =
0.001[Nm/(rad/seg)], n = 10. Se utilizan las siguientes ganancias: ra = 50, k p =
182.6318, kd = 18.2883, ki = 456.37. Aunque estas ganancias pudieran parecer muy
grandes, sin embargo con ellas se obtienen los valores kd = 2, k p = 20, ki = 50 cuan-
do se utilizan las relaciones en (5.25). Recuérdese que, de acuerdo al comentario 5.1,
las ganancias kd , k p , ki son las que obtienen cuando el diseño se hace suponiendo
que el par es la señal de entrada. En las figuras 5.7 y 5.8 se muestra la gráfica polar
y las gráficas de Bode de la función de transferencia en (5.24) cuando se usan los
valores numéricos aquı́ propuestos. En la figura 5.8 se aprecia que se consiguen dos
rodeos antihorarios al rededor del punto (−1, j0), por lo que el sistema de control
es estable. Más aún, en la figura 5.7 se puede observar que el margen de fase es del
orden de 50 grados por lo que es muy aceptable. Es conveniente aclarar lo siguien-
te. Aunque la gráfica 5.8 parece ser diferente a la bosquejada en la figura 5.6, sin
embargo todo es debido a la visualización de la figura: si se hace un acercamiento
al rededor del origen se podrá observar que la curva es similar a la de la figura 5.6.
Prueba de ello es que las gráficas de Bode de las figuras 5.7 y 5.5 son muy parecidas.
En la figura 5.9 se presentan resultados en simulación cuando se usa θd = 0.8[rad] y
todas las condiciones iniciales iguales a cero. Es conveniente mencionar que existe
un pico de voltaje u muy grande (al rededor de 150[V]) al principio de la simulación
pero tiene una duración muy corta. Este pico se debe a las grandes ganancias que
se utilizan. Sin embargo, se reduce rápidamente porque la diferencia i∗ − i disminu-
ye rápidamente (véase el comentario 5.1) con lo que se obtiene de nuevo un valor
(pequeño) razonable de u. Debido a la corta duración que tiene este pico de volta-
je los resultados no tienen ningún cambio cuando se satura el voltaje a valores de
±30[V]. En estas simulaciones se aplica una perturbación constante Tp = 2[Nm] a
152 V. M. Hernández-Guzmán

Bode Diagrams

20

−20

−40
Phase (deg); Magnitude (dB)
−60

−80

−100

250

200

150

−2 0 2 4 5
10 10 10 10 10

Frequency (rad/sec)

Figura 5.7 Gráficas de Bode de la función de transferencia en (5.24) usando las ganancias uti-
lizadas por el controlador diseñado.

Nyquist Diagrams

2
Imaginary Axis

−2

−4

−6

−10 −8 −6 −4 −2 0
Real Axis

Figura 5.8 Gráfica polar de la función de transferencia en (5.24) usando las ganancias utilizadas
por el controlador diseñado.
5. Lazos de Corriente 153

òe
[rad]

u
[V]

t [s]

Figura 5.9 Resultados en simulación cuando se controla la posición de un motor de CD con


escobillas.

partir de t = 2[s]. Puede observarse que el efecto de dicha perturbación se elimina


rápidamente gracias al efecto integral del controlador.

5.3. Control de robots equipados con motores de CD sin


escobillas

Actualmente es ampliamente aceptado que el uso de motores de CD sin escobi-


llas presenta varias ventajas en robótica con respecto al uso de motores de CD con
escobillas [12], [13], [14], [15]. Sin embargo, también es reconocido que el con-
trol de motores de CD sin escobillas es más complicado debido a que la dinámica
eléctrica de estos motores es no lineal y multivariable.
Hasta ahora se han presentado algunos esquemas de control para robots rı́gidos
equipados con motores de CD sin escobillas los cuales consideran la presencia de
la dinámica eléctrica de dichos motores durante la etapa de prueba de estabilidad
[12], [13], [14], [15]. Sin embargo, la complejidad matemática de los motores de
CD sin escobillas ha forzado que estos esquemas de control resulten en complica-
dos controladores no lineales. Es interesante resaltar que algunos autores [16] pp.
257, 395, 403 han reconocido que los controladores complicados son sensibles a
154 V. M. Hernández-Guzmán

errores numéricos provocados por los cálculos elaborados, causan saturaciones en


los voltajes de control y amplifican considerablemente el ruido en la práctica.
En esta sección se presenta el diseño de un simple controlador PD para robots
rı́gidos equipados con motores de CD sin escobillas. La novedad en este diseño es
que se prueba estabilidad y convergencia global a las posiciones de unión deseadas
tomando en consideración el efecto de la dinámica eléctrica de los motores. Debido
a la sencillez del controlador se asegura la robustez del esquema de control con res-
pecto a posibles errores numéricos introducidos durante el cálculo del controlador y
con respecto a la amplificación de ruido que en otros esquemas se introducen por los
términos de orden alto presentes en el controlador. Más aún, el controlador obtenido
puede construirse utilizando la técnica conocida como control de par o de corriente
[5], [6].
En esta sección se utilizan los sı́mbolos λmin (A(x)) y λmax (A(x)) para representar,
respectivamente, los eigenvalores menor y mayor de la matriz simétrica y definida
positiva A(x), para cualquier x ∈ R n n
√ . Dado un vector x ∈ R y una matriz A(x) la
norma de x se definepcomo kxk = x x mientras que la norma espectral de A(x) se
T

define como kAk = λmax (AT A). El sı́mbolo p = (d/dt) se utiliza para representar
el operador derivada.

5.3.1. Modelo dinámico de robots equipados con motores de CD


sin escobillas

El modelo dinámico de un robot rı́gido de n grados de libertad equipado con


un motor de CD sin escobillas en cada una de sus uniones y sin caja de engranes
está dado como [12], [17]:

M(q)q̈ +C(q, q̇)q̇ + g(q) + F q̇


= [KT 1 IB + KT 2 ]Ia (5.31)
La I˙a + Ra Ia + Np Lb IB q̇ + KT 2 q̇ = Va (5.32)
Lb I˙b + Rb Ib − N p La IA q̇ = Vb (5.33)

donde:
r
3
KT 1 = N p (Lb − La ), KT 2 = Np KB (5.34)
2
Va = [va1 , va2 , . . . , van ]T ∈ Rn
Vb = [vb1 , vb2 , . . . , vbn ]T ∈ Rn
Ia = [ia1 , ia2 , . . . , ian ]T ∈ Rn
Ib = [ib1 , ib2 , . . . , ibn ]T ∈ Rn
IA = diag{ia1 , ia2 , . . . , ian } ∈ Rn×n
IB = diag{ib1 , ib2 , . . . , ibn } ∈ Rn×n
5. Lazos de Corriente 155

El vector q ∈ R n representa las posiciones en cada una de las uniones del robot,
M(q) es una matriz de n × n simétrica y definida positiva conocida como la matriz
de inercia, C(q, q̇)q̇ es el término de Coriolis y de efectos centrı́fugos, g(q) = ∂ U(q) ∂q
es el término de efectos gravitacionales, donde U(q) es una función escalar que
representa la energı́a potencial del robot, y F es una matriz de n × n constante,
diagonal y definida positiva que representa los coeficientes de fricción viscosa en
cada una de las uniones. A lo largo de esta sección se usa el vector q̃ = qd − q para
representar el error de posición en las uniones donde qd ∈ R n es un vector constante
que representa las posiciones que se desean en cada unión. También se supone que
el robot que se estudia está equipado solamente con uniones rotativas.
El modelo (5.31)-(5.34) se obtiene después de que se ha aplicado una transforma-
ción DQ (también conocida como transformación de Park) sobre el modelo original
de cada uno de los motores los cuales se supone tienen tres fases conectadas en es-
trella [17], [14], [18]. Por tanto, Va y Vb representan, respectivamente, los voltajes
de las fases DQ asociadas con cada uno de los motores. Ia y Ib son las corrientes
eléctricas correspondientes. La , Lb , Ra , Rb , N p , KB son matrices constantes, diago-
nales, definidas positivas. Se recomienda leer las referencias [12], [17] para conocer
una descripción completa de estas matrices. Finalmente, KT 1 y KT 2 son matrices
diagonales (KT 2 es definida positiva) que contienen las constantes de par de los mo-
tores, mientras que τ = [KT 1 IB + KT 2 ]Ia es el par aplicado por los motores en las
uniones del robot.
Sean V j = [v j1 , v j2 , v j3 ]T ∈ R 3 e I j = [i j1 , i j2 , i j3 ]T ∈ R 3 , respectivamente, los
voltajes y las corrientes de fase del motor de CD sin escobillas colocado en la unión
j, el cual es trifásico y está conectado en estrella. La aplicación de la transformación
DQ (o de Park) implica que (véase la referencia [17], pp. 373):
· ¸ r · ¸
ζa j 2 ζ j1 cos(n p j q j ) + ζ j2 cos(n p j q j − 23π ) + ζ j3 cos(n p j q j + 23π )
=
ζb j 3 ζ j1 sin(n p j q j ) + ζ j2 sin(n p j q j − 23π ) + ζ j3 sin(n p j q j + 23π )
  r  
v j1 va j cos(n p j q j ) + vb j sin(n p j q j )
 v j2  = 2  va j cos(n p j q j − 2π ) + vb j sin(n p j q j − 2π ) 
3 3 3
v j3 va j cos(n p j q j + 23π ) + vb j sin(n p j q j + 23π )

donde ζ representa la variable v o la variable i (voltajes o corrientes eléctricas).


Por otro lado, es bien sabido que en el caso de robots equipados únicamente
con uniones rotativas la parte mecánica del robot en (5.31) tiene las siguientes
propiedades.
Propiedad 5.1. [19], [20] pp. 96. Las matrices M(q) y C(q, q̇) satisfacen 0 < λmin
(M(q)), λmax (M(q)) < β , ∀q ∈ R n , donde β es un escalar constante finito, y:
µ ¶
1
q̇T Ṁ(q) −C(q, q̇) q̇ = 0, ∀q̇ ∈ R n (5.35)
2
Ṁ(q) = C(q, q̇) +CT (q, q̇) (5.36)
156 V. M. Hernández-Guzmán

∂ g(q)
Propiedad 5.2. [21] pp. 120, [22] pp. 170. La matriz ∂q es simétrica porque
∂ U(q)
g(q) = ∂q es el gradiente de una función escalar U(q) que es dos veces continua-
mente diferenciable. Por otro lado, todos los eigenvalores de una matriz simétrica
son reales, es decir, todos los eigenvalores de ∂ g(q) n
∂ q son reales para toda q ∈ R .

Propiedad 5.3. [19], [23], [20] pp. 102. Existen constantes positivas kg y kc tales
que para toda w, y, z, q ∈ R n , se tiene que:

kC(w, y)zk ≤ kc kykkzk (5.37)


½ ¾ ° ∂ g(q) °
∂ g(q) ° °
λmax ≤° ° < kg (5.38)
∂q ∂q
kg(w) − g(y)k ≤ kg kw − yk (5.39)

5.3.2. Algunos resultados importantes

A continuación se listan algunos resultados que son útiles para el desarrollo pre-
sentado en esta sección.
Teorema 5.1. (Weyl)[22] pp. 184. Sean A y B dos matrices simétricas de n × n.
Suponga que los eigenvalores de A de B y de A + B se ordenan de manera creciente,
es decir de menor a mayor: λmin = λ1 ≤ λ2 ≤ · · · ≤ λn−1 ≤ λn = λmax . Entonces,
para cada par de enteros j, k tales que 1 ≤ j ≤ n, 1 ≤ k ≤ n y j + k ≤ n + 1 se tiene
que:

λ j (A) + λk (B) ≤ λ j+k−1 (A + B) (5.40)

El teorema de Weyl es particularmente útil en el caso en que j = 1 y k = 1:

λ1 (A) + λ1 (B) ≤ λ1 (A + B) (5.41)

lo cual significa que el menor de los eigenvalores de la matriz A + B es mayor igual


que la suma de los eigenvalores menores de las matrices A y B.
Lema 5.1. [20] pp. 401. Sea f : R n → R una función con derivadas parciales con-
tinuas hasta al menos el segundo orden. Suponga que f (0) = 0 y ∂∂ xf (0) = 0. Si la
matriz ∂∂x [ ∂ ∂f (x) n
x ] es definida positiva para toda x ∈ R , entonces f (x) es una función
definida positiva de manera global.

Lema 5.2. (Barbalat)[24] pp. 21. Si g(t) es una función vectorial del tiempo de
n componentes tal que g(t) ∈ L∞ , ġ(t) ∈ L∞ y g(t) ∈ L p para alguna p ∈ [1, ∞),
entonces g(t) → 0 conforme t → ∞. Se dice que g(t) ∈ L p para p ∈ [1, ∞) si el valor
de la siguiente expresión existe:
5. Lazos de Corriente 157
µZ ∞
¶1/p
kg(t)k p dt (5.42)
0

Por otro lado, se dice que g(t) ∈ L∞ si supt≥0 kg(t)k existe.

Teorema 5.2. [22] pp. 402. Una matriz es definida positiva si y sólo si todos sus
eigenvalores son positivos.

Finalmente, a continuación se listan algunas propiedades bien conocidas de la


norma espectral. Sean w, y ∈ R n dos vectors y sean B(x) y D(x) dos matrices de
n × n, con la primera simétrica y definida positiva ∀x ∈ R n , entonces:

±yT D(x)w ≤ kykkD(x)wk (5.43)


±yT B(x)w ≤ kykkB(x)kkwk
= λmax (B(x))kykkwk (5.44)
y B(x)y ≥ λmin (B(x))kyk2
T
(5.45)
kD(x)B(x)k ≤ kD(x)kkB(x)k (5.46)

5.3.3. Diseño del controlador

En la siguiente proposición se presenta un controlador PD que incluye un lazo


de corriente y una parte adaptable para el control de robots rı́gidos equipados con
motores de CD sin escobillas. Este esquema de control permite la construcción del
controlador sin necesidad de conocer con exactitud ningún parámetro del robot ni
del motor a excepción del término de efectos gravitacionales y la constante de par.
Finalmente, este controlador asegura que todo el estado permanece acotado y que
hay convergencia de las posiciones de unión a sus posiciones deseadas a partir de
cualquier condición inicial.
Proposición 5.2. Considere el modelo dinámico (5.31), (5.32), (5.33) junto con la
ley de control:

Va = −ra Ia + KP q̃ − KD ϑ + RKT−1
2 g(qd ) (5.47)
b b
V = −Q̇∆a θ1 + ε Q̃IA θ2 (5.48)
" #b · ¸
d θb1 IB Q̇ δa
=Γ (5.49)
dt θb2 −ε IB Q̃ Ia

donde:
158 V. M. Hernández-Guzmán

ε0
ε= , R = Ra + ra
1 + kq̃k
½ ¾
bi p
ϑ = diag q (5.50)
p + ai
Q̃ = diag{q̃1 , q̃2 , . . . , q̃n } ∈ R n×n
Q̇ = diag{q̇1 , q̇2 , . . . , q̇n } ∈ R n×n
∆a = diag{δa1 , δa2 , . . . , δan } ∈ R n×n (5.51)
δa = KP q̃ − KD ϑ + RKT−1 2 g(qd ) = [δa1 , δa2 , . . . , δan ] ∈ R
T n

Las matrices A = diag{ai } y B = diag{bi } son de n × n diagonales y definidas


positivas, Γ es una matriz de 2n × 2n diagonal definida positiva arbitraria, θb1 , θb2
son los estimados de los parámetros definidos como:
· ¸T
Np1 Lb1 N pn Lbn
θ1∗ = ,..., ∈ Rn (5.52)
R1 Rn
θ2∗ = [KT 11 , . . . , KT 1n ]T ∈ R n

donde el subı́ndice indica que se trata de un elemento de la diagonal de la matriz


correspondiente. Siempre existen matrices diagonales y definidas positivas KP , KD ,
A, B, Γ , ra y un escalar constante ε0 > 0 tales que el sistema en lazo cerrado tiene
un punto de equilibrio, donde q̃ = 0, el cual es estable y se asegura la convergencia
lı́mt→∞ q(t) = qd desde cualquier estado inicial.

Comentario 5.2. Es importante subrayar que el filtro en (5.50) puede ser construido
en la práctica sin necesidad de medir la velocidad utilizando la siguiente realización:

ẋ = −Ax − ABq
ϑ = x + Bq

A continuación se presenta la demostración de la proposición 5.2. Defina la nueva


variable:
¡ ¢
ρ = Ia − R−1 KP q̃ − KD ϑ + RKT−1 2 g(qd ) (5.53)

Nótese que ϑ̇ = −Aϑ + Bq̇, es una realización del filtro definido en (5.50). Usando
estas expresiones y sustituyendo (5.47) en (5.32) se obtiene:

La ρ̇ = −Rρ − N p Lb IB q̇ − KT 2 q̇
+La R (KP + KD B)q̇ − La R−1 KD Aϑ
−1
(5.54)

Sustituyendo (5.48) en (5.33) y usando (5.53) se puede escribir:

Lb I˙b = −Rb Ib + N p La Q̇ρ + N p La Q̇R−1 δa (5.55)


−Q̇∆a θ̃1 + ε Q̃IA θ̃2 − Q̇∆a θ1∗ + ε Q̃IA θ2∗
5. Lazos de Corriente 159

donde θ̃1 = θb1 − θ1∗ , θ̃2 = θb2 − θ2∗ . Nótese que si se define:

KP = KT 2 R−1 KP (5.56)
KD = KT 2 R−1 KD (5.57)

donde KP y KD son matrices diagonales definidas positivas, entonces se puede es-


cribir:

δa∗ = [KP q̃ − KD ϑ + g(qd )] = KT 2 R−1 δa (5.58)

Usando (5.58) en (5.55) se encuentra:

Lb I˙b = −Rb Ib + N p La Q̇ρ + N p La Q̇KT−12 δa



(5.59)
−Q̇∆a θ̃1 + ε Q̃IA θ̃2 − Q̇∆a θ1∗ + ε Q̃IA θ2∗

Por otro lado, se puede escribir (5.31) como:

M(q)q̈ +C(q, q̇)q̇ + g(q) + F q̇


= [KT 1 IB + KT 2 ]ρ + KT 1 IB R−1 δa + KT 2 R−1 δa (5.60)

Usando (5.58) se puede escribir (5.60) como:

M(q)q̈ +C(q, q̇)q̇ + g(q) + F q̇


= [KT 1 IB + KT 2 ]ρ + KP q̃ − KD ϑ + g(qd )
+KT 1 IB KT−1 ∗
2 δa (5.61)

Finalmente, la expresión en (5.49) se puede escribir como:


· ¸ · ¸
d θ̃1 IB Q̇ δa
=Γ (5.62)
dt θ̃2 −ε IB Q̃ Ia

Por tanto, la dinámica en lazo cerrado está dada por (5.61), (5.54), (5.59), (5.62)
junto con:

ϑ̇ = −Aϑ + Bq̇ (5.63)

Nótese que (q̃, q̇, ϑ , ρ , Ib , θ̃1 , θ̃2 ) = (0, 0, 0, 0, 0, 0, 0) es un punto de equilibrio de la


dinámica en lazo cerrado (5.61), (5.54), (5.59), (5.62), (5.63). Ahora, con el fin de
estudiar la estabilidad de este punto de equilibrio considérese la siguiente función:
160 V. M. Hernández-Guzmán

ν (q̃, q̇, ϑ , ρ , Ib , θ̃ ) = ν1 (q̃, q̇) + ν2 (ϑ , θ̃ ) + ν3 (ρ , Ib )


Z q̃
1
ν1 (q̃, q̇) = q̇T M(q)q̇ −U(qd ) + q̃T g(qd ) + ε xT Fdx
2 0
1 1
+( + )q̃T KP q̃ − ε q̃T M(q)q̇ +U(q)
ε1 ε2
1 1
ν2 (ϑ , θ̃ ) = ϑ T KD B−1 ϑ + θ̃ T Γ −1 θ̃
2 2
1 T 1 T
ν3 (ρ , Ib ) = ρ La ρ + Ib Lb Ib
2 2
donde θ̃ = [θ̃1T , θ̃2T ]T . Es claro que ν2 y ν3 son funciones definidas positivas y ra-
dialmente desacotadas, por lo que sólo resta verificar si ν1 también tiene R estas ca-
racterı́sticas. Es conveniente mencionar que, a excepción del término 0q̃ ε xT Fdx
(el cual es positivo definido porque ε > 0 y F es una matriz definida positiva), la
función ν1 fue propuesta por primera vez en [25]. A continuación se describe el
procedimiento seguido en dicha referencia para probar que ν1 se definida positiva
(véase también [20], Cap. 8, pág. 192 y Cap. 15, pág. 343). Nótese que ν1 se puede
escribir como:
1 1 2
ν1 (q̃, q̇) = [−q̇ + ε q̃]T M(q)[−q̇ + ε q̃] + q̃T [ KP − ε 2 M(q)]q̃
2 2 ε2
Z q̃
1
−U(qd ) + q̃T g(qd ) + q̃T KP q̃ +U(q) + ε xT Fdx
ε1 0

El siguiente término se puede acotar por abajo como:


1 T 2 1 2 T 1
q̃ [ KP − ε 2 M(q)]q̃ = q̃ KP q̃ − ε 2 q̃T M(q)q̃
2 ε2 2 ε2 2
1 2 T 1
≥ q̃ KP q̃ − ε02 q̃T M(q)q̃
2 ε2 2
ε0
donde se ha usado el hecho de que ε = 1+kq̃k ≤ ε0 porque 1 + kq̃k ≥ 1. Por tanto:

1 T 2 1 2
q̃ [ KP − ε 2 M(q)]q̃ ≥ ε02 q̃T [ 2 KP − M(q)]q̃
2 ε2 2 ε2 ε0

La expresión en el lado derecho es definido positivo si la matriz [ ε 2ε 2 KP − M(q)]


2 0
es definida positiva. Las condiciones para que esto sea cierto se obtienen usando el
teorema 5.1, es decir si:
2 2
0 < λmin ( KP ) − λmax (M(q)) ≤ λmin ( 2 KP − M(q)) (5.64)
ε2 ε0
2 ε2 ε0

porque esto asegura que la matriz [ ε 2ε 2 KP −M(q)] tiene todos sus eigenvalores posi-
2 0
tivos y, por tanto, es una matriz definida positiva (véase el teorema 5.2). Para obtener
5. Lazos de Corriente 161

(5.64) se ha usado el hecho de que siendo M(q) una matriz definida positiva entonces
−M(q) es definida negativa y su eigenvalor menor es igual a −λmax (M(q)). Por otro
lado, como KP es una matriz diagonal, entonces (5.64) se puede escribir como:
2 2
0< λmin (KP ) − λmax (M(q)) ≤ λmin ( 2 KP − M(q)) (5.65)
ε2 ε02 ε2 ε0

Por tanto, el término 12 q̃T [ ε22 KP − ε 2 M(q)]q̃ es definido positivo si


s
2λmin (KP )
> ε0 > 0 (5.66)
ε2 λmax (M(q))

Por otro lado, de acuerdo al lema 5.1 la función:


1 T
f (q̃) = q̃ KP q̃ +U(q) −U(qd ) + q̃T g(qd )
ε1
es definida positiva de manera global si la siguiente matriz es definida positiva:

2 ∂ g(q)
KP +
ε1 ∂q
Usando de nuevo el teorema 5.1 y la propiedad 5.2 se encuentra que esto es cierto
si:
½ ¾
2 ∂ g(q)
0 < λmin (KP ) − λmax
ε1 ∂q

Por tanto, usando (5.38) se concluye que f (q̃) es positiva definida de manera global
si:
2λmin (KP )
> ε1 (5.67)
kg

Entonces, ν es una función definida positiva y radialmente desacotada si se satisface


(5.67), (5.66), por lo que puede ser utilizada como función candidata de Lyapunov.
Finalmente, la siguiente condición:
2ε1
ε2 = > 2, ε1 > 2 (5.68)
ε1 − 2

asegura que ε11 + ε12 = 12 , lo cual es importante para el cálculo que sigue a con-
tinuación.
Usando (5.34) y el hecho de que todas las matrices involucradas son diagonales
se encuentra que q̇T KT 1 IB ρ − ρ T Np Lb IB q̇ + IbT N p La Q̇ρ = 0 y q̇T KT 1 IB KT−1
2 δa +

−1 ∗ −1 ∗
Ib N p La Q̇KT 2 δa = Ib N p Lb Q̇KT 2 δa . Estos resultados, ası́ como las propiedades en
T T

(5.35), (5.36), g(q) = ∂ U(q)


∂ q y ε1 + ε2 = 2 permiten calcular la derivada de ν a lo
1 1 1
162 V. M. Hernández-Guzmán

largo de las trayectorias del sistema en lazo cerrado (5.61), (5.54), (5.59), (5.62),
(5.63) como:

ν̇ = −q̇T F q̇ + ε q̇T M(q)q̇


−ε q̃T CT (q, q̇)q̇ − ε q̃T (g(qd ) − g(q))
−ε q̃T KP q̃ + ε q̃T KD ϑ − ε̇ q̃T M(q)q̇ (5.69)
−ε q̃T KT 2 ρ − IbT Rb Ib − ϑ T KD B−1 Aϑ
−ρ T Rρ + ρ T La KT−1 2 [(KP + KD B)q̇ − KD Aϑ ]
−Ib Q̇∆a θ̃1 + Ib ε Q̃IA θ̃2 − IbT Q̇∆a θ1∗ + IbT ε Q̃IA θ2∗
T T

+θ̃ T Γ −1 θ̃˙ + G,
G = q̇T N p Lb IB KT−1 ∗
2 δa − ε q̃ KT 1 IB ρ
T

−ε q̃T KT 1 IB KT−1 ∗
2 δa

Usando (5.53) y (5.58) se puede escribir:

G = q̇T N p Lb IB R−1 δa − ε q̃T KT 1 IB Ia

Por tanto, si se utiliza (5.52) y (5.62) se encuentra que:

ν̇ = −q̇T F q̇ + ε q̇T M(q)q̇


−ε q̃T CT (q, q̇)q̇ − ε q̃T (g(qd ) − g(q))
−ε q̃T KP q̃ + ε q̃T KD ϑ − ε̇ q̃T M(q)q̇ (5.70)
−ε q̃T KT 2 ρ − IbT Rb Ib − ϑ T KD B−1 Aϑ
−ρ T Rρ + ρ T La KT−1 2 [(KP + KD B)q̇ − KD Aϑ ]

Utilizando (5.37), (5.39) y (5.43)-(5.46) se encuentra que (véase también [20] pp.
193):

−ε q̃T (g(qd ) − g(q)) ≤ ε kg kq̃k2


−ε q̃T CT (q, q̇)q̇ = −ε q̇T C(q, q̇)q̃ ≤ ε kc kq̃|kq̇k2
−ε̇ q̃T M(q)q̇ ≤ ε0 λmax (M(q))kq̇k2

Usando estas expresiones y (5.43)-(5.46) se puede acotar ν̇ como sigue:


 T  
kq̇k kq̇k  T  
 kϑ k   kϑ k  kϑ k kϑ k
ν̇ ≤ −     
 kρ k  E  kρ k  − ε kq̃k
 Ā  kq̃k  (5.71)
kρ k kρ k
kIb k kIb k

donde:
5. Lazos de Corriente 163

E11 = λmin (F) − ε0 (kc + 2λmax (M(q)))


1
E22 = λmin (KD B−1 A), E31 = E13
2
1
E33 = λmin (R), E12 = E21 = E14 = E41 = 0
2
E44 = λmin (Rb ), E42 = E24 = E34 = E43 = 0
1
E13 = − [λmax (La KT−1 −1
2 KP ) + λmax (La KT 2 KD B)]
2
1
E32 = E23 = − [λmax (La KT−1 2 KD A)]
2
1
Ā11 = λmin (KD B−1 A), Ā13 = Ā31 = 0
2ε0
1
Ā22 = λmin (KP ) − kg , Ā33 = λmin (R)
2ε0
1 1
Ā23 = Ā32 = − λmax (KT 2 ), Ā12 = − λmax (KD )
2 2
con Ā21 = Ā12 . Las matrices E y Ā son definidas positivas si:

E11 > 0, E22 > 0, E33 > 0, E44 >0 (5.72)


E11 E22 E33 − E13 E22 E31 − E23 E11 E32 >0
Ā11 > 0, σ = Ā11 Ā22 − Ā21 Ā12 >0
σ Ā33 − Ā23 Ā11 Ā32 >0

De acuerdo a (5.56), (5.57), dado cualquier valor de R siempre es posible ajustar


los valores de KP y KD de manera que se conserven los valores deseados para KP y
KD . Por tanto, sólo los elementos E33 y Ā33 de las matrices E y Ā crecen conforme
R se incrementa. Entonces, todas las desigualdades anteriores siempre pueden ser
satisfechas usando matrices KP , KD , B, A convenientes, un valor pequeño para ε0 > 0
y un valor grande para R, es decir un valor grande para ra . Ası́, siempre se puede
conseguir que ν̇ sea globalmente semidefinida negativa. Esto, junto con el hecho de
que ν es globalmente definida positiva y radialmente desacotada aseguran que el
punto de equilibrio (q̃, q̇, ϑ , ρ , Ib , θ̃ ) = (0, 0, 0, 0, 0, 0) es estable, es decir, el estado
completo es acotado y por tanto q̃, q̇, ϑ , ρ , Ib , θ̃ ∈ L∞ de acuerdo al lema 5.2.
La convergencia q(t) → qd conforme t → ∞ se asegura usando el lema 5.2. Como
Ā y E son matrices definidas positivas entonces de (5.71) se obtiene:

ν̇ ≤ −ελmin (Ā)kzk2 ≤ −ελmin (Ā)kq̃k2 ≤ −δ λmin (Ā)kq̃k2

donde z = [kϑ k, kq̃k, kρ k]T , λmin (Ā) > 0 y ε > δ > 0 para alguna constante finita δ
porque q̃ está acotada. Integrando directamente se encuentra:
Z t
ν (0) − ν (t) ν (0)
kq̃(r)k2 dr ≤ ≤ < ∞, ∀t ≥ 0 (5.73)
0 δ λmin (Ā) δ λmin (Ā)
164 V. M. Hernández-Guzmán

porque ν (t) ≥ 0, ∀t ≥ 0. Esto significa que q̃ ∈ L2 . Finalmente, como q̃, q̃˙ ∈ L∞


(recuérdese que q̇ = −q̃˙) entonces el lema 5.2 asegura que q̃(t) → 0 conforme t → ∞
desde cualquier estado inicial. Esto completa la demostración de la proposición 5.2.
Las condiciones que aseguran el resultado en la proposición 5.2 se resumen en
(5.67), (5.66), (5.68) y (5.72). Finalmente, es conveniente subrayar que este resulta-
do es válido para cualquier valor de La y Lb , es decir, a diferencia de lo que se supone
tradicionalmente el resultado en la proposición 5.2 no necesita que la inductancia
sea pequeña.

Comentario 5.3. En la práctica es común suponer que el par generado por los mo-
tores de CD sin escobillas es proporcional a la corriente eléctrica. Por esta razón los
manejadores de estos motores incluyen algún controlador de corriente que asegure
que se genera el par deseado [6]. Suponiendo que La = Lb entonces el par aplicado
por los motores en las uniones del robot está dado como τ = KT 2 Ia . Entonces, los
manejadores de los motores entregan el siguiente voltaje:

Va = γ (Ia∗ − Ia ) (5.74)

donde γ es una matriz diagonal definida positiva e Ia∗ representa el valor de la corri-
ente eléctrica Ia que se necesita para general el par deseado τ ∗ , es decir:

Ia∗ = KT−1


(5.75)

En el caso en que se usa un controlador PD para ordenar la consigna de par se puede


escribir:

τ ∗ = κ p q̃ − κd ϑ + g(qd ) (5.76)

Es importante subrayar que en la práctica [5] siempre se selecciona ra À Ra y, por


tanto R ≈ ra . Entonces, Va dado en (5.47) se obtiene a partir de (5.74), (5.75), (5.76)
si se establece que ra = γ , KP = γ KT−1 −1 −1 −1
2 κ p , KD = γ KT 2 κd y γ KT 2 g(qd ) ≈ RKT 2 g(qd ).
Esto relaja el hecho de requerir el conocimiento exacto de Ra . Nótese que todo lo
anterior implica que κ p ≈ KP y κd ≈ KD . Además de esto, es importante decir que
el resultado presentado en esta sección es válido aún cuando La 6= Lb .

5.3.4. Resultados en simulación

En esta sección se presentan resultados en simulación para apreciar el desempeño


del controlador en la proposición 5.2. Se utilizan los valores numéricos del robot
reportado en [20] Ch. 5, es decir:
5. Lazos de Corriente 165
· ¸
M11 (q) M12 (q)
M(q) =
M21 (q) M22 (q)
2
M11 (q) = m1 lc1 + m2 [l12 + lc2
2
+ 2l1 lc2 cos(q2 ) + I1 + I2 ]
2
M12 (q) = m2 [lc2 + l1 lc2 cos(q2 )] + I2
2
M21 (q) = m2 [lc2 + l1 lc2 cos(q2 )] + I2
2
M22 (q) = m2 lc2 + I2
· ¸
−m2 l1 lc2 sin(q2 )q̇2 −m2 l1 lc2 sin(q2 )[q̇1 + q̇2 ]
C(q, q̇) =
m2 l1 lc2 sin(q2 )q̇1 0
· ¸
[m1 lc1 + m2 l1 ]g sin(q1 ) + m2 lc2 g sin(q1 + q2 )
g(q) =
m2 lc2 g sin(q1 + q2 )

donde l1 = 0.26[m], l2 = 0.26[m], lc1 = 0.0983[m], lc2 = 0.0229[m],


m1 = 6.5225[kg], m2 = 2.0458[kg], I1 = 0.1213[kg m2 ], I2 = 0.0116[kg m2 ],
g = 9.81[m/s2 ]. Algunos parámetros importantes son: kg = 23.94[kg m2 /s2 ], kc =
0.0487[kg m2 ], λmin (M(q)) = 0.011[kg m2 ], λmax (M(q)) = 0.3614[kg m2 ].
Se trata de un robot rı́gido de dos grados de libertad con dos uniones rotativas y
que se mueve sobre un plano vertical. La configuración [q1 , q2 ] = [0, 0] corresponde
al caso cuando los dos eslabones son paralelos y apuntan hacia abajo. Se considera
que este robot está equipado con dos motores de CD sin escobillas cuyos valores
numéricos son los identificados en [5], es decir N p = diag{120, 120}, Ra = Rb =
diag{1.9, 1.9}[Ohms], Lb = diag{6.36 × 10−3 , 6.36 × 10−3 }[H], La = diag{6.72 ×
10−3 , 6.72 × 10−3 }[H] KB = diag{10.6 × 10−3 , 10.6 × 10−3 }[Wb], J = diag{2.5 ×
10−3 , 2.5 × 10−3 } [Kgm2 ]. Finalmente, la matrix de coeficientes de fricción viscosa
tiene los siguientes valores F = diag{0.203, 0.203}[Nm/(rad/sec)] los cuales tam-
bién fueron identificados en [5]. Todas las condiciones iniciales son seleccionadas
iguales a cero y las posiciones deseadas son qd = [π /9, π /30]T [rad]. Las ganancias
del controlador se seleccionan de manera que todas las condiciones en (5.67), (5.66),
(5.68) y (5.72) son satisfechas: KP = diag{14000, 14000}, KD = diag{2900, 1500},
A = diag{10, 10}, B = diag{10, 10}, ε0 = 0.2, Γ = diag{1, 1, 1, 1}. Finalmente, se
selecciona ra = diag{698, 698}[Ohm] porque en [5] se encontró que este es el valor
que utilizan los manejadores comerciales suministrados por el fabricante junto con
los motores de CD sin escobillas identificados en ese trabajo. En la figuras 5.10,
5.11, 5.12 se presentan los resultados obtenidos. Nótese que aunque las ganancias
del controlador PD pueden parecer demasiado grandes, sin embargo usando (5.56)
y (5.57) se encuentra ellas corresponden a KP = diag{30, 30}, KD = diag{7, 3} va-
lores que, de acuerdo al comentario 5.3, son las ganancias que se obtendrı́an usando
un método de diseño que considera que el par es la entrada. Es más, en la figura
5.11 se puede ver que Va1 y Va2 no son de hecho muy grandes. Esta caracterı́stica es
debido al uso de la estrategia de control de par o de corriente: el error de corriente
Ia∗ − Ia se reduce muy rápido. En este sentido es interesante mencionar que existen
valores de pico muy grandes de los voltajes Va al inicio de la simulación, los cuales
son debidos a las ganancias PD tan grandes, y sin embargo los voltajes rápidamente
se reducen a los valores mostrados en la figura 5.11 en aproximadamente 6 × 10−4
segundos. En estas simulaciones se saturaron los voltajes Va y Vb en ±25[V] para
166 V. M. Hernández-Guzmán

considerar una situación más cercana a una aplicación real. Es interesante resaltar
que la introducción de dicha saturación no afecta en nada a los resultados obtenidos.

0,4
[rad]

0,3

qe1
0,2

0,1
qe2

0 0,2 0,4 0,6 0,8 1 1,2 1,4

t [s]
Figura 5.10 Resultados en simulación. Errores de posición.

Referencias

1. A. Ailon, R. Lozano, and M.I. Gil’, “Iterative regulation of an electrically driven flexible-joint
robot with model uncertainty”, IEEE Trans. Robot. Autom., vol. 16, no. 6, pp. 863-870, Dec
2000.
2. M.C. Good, L.M. Sweet, and K.L. Strobel, “Dynamic models for control system design of
integrated robot and drive systems”, Journal of Dynamic Systems, Measurement, and Control,
Vol. 107, pp. 53-59, 1985.
3. T.-J. Tarn, A.K. Bejczy, X. Yun, and Z. Li, “Effect of motor dynamics on nonlinear feedback
robot arm control”, IEEE Trans. Robot. Autom., vol. 7, no. 1, pp. 114-122, Feb. 1991.
4. S.D. Eppinger and W.P. Seering, “Introduction to dynamic models for robot force control”,
IEEE Control Systems Magazine, pp. 48-52, 1987.
5. R. Campa, E. Torres, V. Santibáñez and R. Vargas, “Electromechanical dynamics characteriza-
tion of brushless direct-drive servomotor”, Proc. VII Mexican Congress on Robotics, COMRob
2005, México, D.F., October 27-28, 2005.
5. Lazos de Corriente 167

20
[V]
18

16

14

12

10

6 V a1
4

2
V a2
0

0 0,2 0,4 0,6 0,8 1 1,2 1,4

t [s]
Figura 5.11 Resultados en simulación. Voltajes en la fase a.

6. Parker Automation, “Compumotor’s Virtual Classroom”, Position Systems and Controls,


Training and Product Catalog, CD-ROM, 1998.
7. V.M. Hernández-Guzmán, V. Santibáñez, and R. Campa, “PID control of robot manipulators
equipped with brushless DC motors”, Robotica, Vol. 27, pp. 225-233, 2009.
8. V.M. Hernández-Guzmán, V. Santibáñez, and R. Campa, “PID control of rigid robots actuated
by brushless DC motors”, in Proc. American Control Conference, pp. 1430-1435 Seattle WA,
June 11-13, 2008.
9. K. Ogata, “Ingenierı́a de control moderna”, Prentice Hall-Pearson Educación, Madrid, 2005.
10. J. Chiasson, Modeling and high performance control of electric machines, IEEE Press-Wiley
Interscience, New Jersey, 2005.
11. Baldor Electric Company, Catalog BR1202, Baldor Motion Products: servo, linear and motion
control products, 2002, P.O. Box 2400, Forth Smith AR 72902-2400 USA, www.baldor.com.
12. M.M. Bridges and D.M. Dawson, “Adaptive control of rigid-link electrically-driven robots
actuated with brushless DC motors”, Proc. 33rd Conference on Decision and Control, pp.
1284-1289, Lake Buena Vista, FL, December 1994.
13. J. Hu, D.M. Dawson, T. Burg and P. Vedagarbha, “An adaptive tracking controller for a brush-
less DC motor with reduced overparametrization effects”, Proc. 33rd Conference on Decision
and Control, pp. 1850-1855, Lake Buena Vista, FL, December 1994.
14. H. Melkote and F, Khorrami, Nonlinear adaptive control of direct-drive brushless DC motors
and applications to robotic manipulators, IEEE/ASME Transactions on Mechatronics, Vol. 4,
No. 1, pp. 71-81, March 1999.
168 V. M. Hernández-Guzmán
2
[V]
1

V b2
0

-1

-2

-3

-4

-5

-6
V b1

-7

-8
0 0,2 0,4 0,6 0,8 1 1,2 1,4

t [s]
Figura 5.12 Resultados en simulación. Voltajes en la fase b.

15. N. Hemati, J. Thorp and M. C. Leu, Robust Nonlinear control of brushless DC motors for
direct-drive robotic applications, IEEE Transactions on Industrial Electronics, Vol. 37, No. 6,
pp. 460-468, December 1990.
16. R. Ortega, A Lorı́a, P. Nicklasson and H. Sira-Ramı́rez, Passivity-based control of Euler-
Lagrange Systems, Springer, London, 1998.
17. D. M. Dawson, J. Hu and T. C. Burg, Nonlinear control of electric machinery, Marcel Dekker,
New York, 1998.
18. P.C. Krause, O. Wasynczuk, S.D. Sudhoff, Analysis of electic machinery and drive systems,
IEEE Press, 2002.
19. R. Kelly, A tuning procedure for stable PID control of robot manipulators, Robotica, Vol. 13,
pp. 141-148, 1995.
20. R. Kelly, V. Santibáñez, and A. Lorı́a. Control of robot manipulators in joint space. London:
Springer, 2005.
21. H. K. Khalil, Nonlinear Systems, 3rd. Edition, Prentice Hall, Upper Saddle River, 2002.
22. R.A. Horn and C.R. Johnson, Matrix analysis, Cambridge University Press, New York, 1993.
23. R. Kelly, Global positioning for robot manipulators via PD control plus a class of nonlinear
integral actions, IEEE Transactions on Automatic Control, Vol. 43, No. 7, pp. 934-938, July
1998.
24. S. Sastry and M. Bodson, “Adaptive control: stability, convergence and robustness”, Prentice
Hall, Englewood Cliffs, 1989.
25. R. Kelly, Comments on: Adaptive PD controller for robot manipulators, IEEE Transcaction
on Robotics and Automation, Vol. 9, No. 1, pp. 117-119, February, 1993.
Capı́tulo 6
Instrumentación Virtual

E. Juárez-Guerra, E. A. Portilla-Flores, A. Cano-Corona y C. Sánchez-Olavarrı́a

Resumen La utilización de las computadoras en los últimos 10 años ha generado


una evolución en la instrumentación de simulaciones, mediciones y automatización.
Con los avances tecnológicos de los últimos años, la estructura cerrada de los instru-
mentos de medición tradicionales se ha venido cambiando por una estructura flexi-
ble, de tal manera que se están utilizando las capacidades de los sistemas de cómputo
tales como el uso de memoria, procesamiento estadı́stico y digital de las señales en
tiempo real, comunicaciones y presentación de resultados; beneficiando ası́ a in-
vestigadores, ingenieros y estudiantes de ingenierı́a que requieran mayor produc-
tividad, precisión y rendimiento en sus proyectos desarrollados o a desarrollar. La
instrumentación virtual se basa en la utilización de un sistema de cómputo equipado
con programas (software) y hardware con funciones dedicadas a la adquisición de
datos, instrumentación y control de procesos que en conjunto cumplen con las fun-
ciones de un instrumento tradicional. De esta manera se aprovecha la flexibilidad,

E. Juárez-Guerra
Universidad Autónoma de Tlaxcala.
Facultad de Ciencias Básicas. Ingenierı́a y Tecnologı́a.
Calzada Apizaquito s/n Km. 1.5, Apizaco, Tlaxcala, México. CP.90300
e-mail: ejuarez@ingenieria.uatx.mx
E. A. Portilla-Flores
CIDETEC-IPN. Departamento de Posgrado. Área de Mecatrónica
Av. Juan de Dios Bátiz s/n. Esq. Miguel Othón de Mendizábal,
“Unidad Profesional Adolfo López Mateos”. C.P. 07700, México, D.F., MÉXICO
e-mail: aportilla@ipn.mx
A. Cano-Corona
Universidad Politécnica de Tlaxcala.
Carretera Federal Tlaxcala-Zacatelco, Km. 9.5, San Lorenzo Axocomanitla, Tlaxcala, México. CP.
e-mail: arico 96@yahoo.com
C. Sánchez-Olavarrı́a
Universidad del Altiplano.
Eucalipto No. 1, Col. El Sabinal. Tlaxcala, Tlaxcala. 90102, México.
e-mail: cesar ari@hotmail.com

169
170 E. Juárez-Guerra et al.

la potencia de cálculo, la productividad y la capacidad de comunicación del sistema


de cómputo. Con la instrumentación virtual se construyen sistemas de medición y
automatización que se ajustan exactamente a las necesidades del usuario en lugar de
estar limitados por los sistemas tradicionales de medición.

6.1. Introducción

En el pasado el desarrollo de la instrumentación estaba totalmente en el campo de


la electrónica en donde la linealidad, amplificación, resolución y supresión del ruido
eran los mayores problemas; una vez solucionados casi estaba listo el instrumento.
Este tipo de instrumentación ha sido útil (tanto que permitió al hombre llegar a
la luna), pero ahora se han incorporado nuevos paradigmas en el desarrollo de la
instrumentación al punto que se están utilizando las capacidades de los sistemas de
cómputo tales como el uso de memoria, procesamiento estadı́stico y digital de las
señales en tiempo real, comunicaciones y presentación de resultados.
La rápida evolución de los sistemas de cómputo en los últimos 20 años ge-
neró una revolución en la instrumentación, tanto en simulaciones, mediciones y
automatización de procesos. Este importante desarrollo de los sistemas de cómputo
resultó en un gran beneficio en la instrumentación virtual, la cuál ofrece a ingenieros
e investigadores una mayor eficiencia en sus aplicaciones mejorando la productivi-
dad, precisión y rendimiento de las mismas.
Un instrumento virtual consiste de un sistema de cómputo de tipo personal o
industrial o una estación de trabajo, equipado con programas (software) y hard-
ware, tales como tarjetas de adquisición de datos (DAQs) y manejadores (drivers)
que cumplen en conjunto, con las funciones de instrumentos tradicionales. Los
instrumentos virtuales representan una contribución fundamental de los sistemas
de instrumentación basados en el hardware a sistemas centrados en el software
que aprovechan la potencia de cálculo, productividad, exhibición y capacidad de
conexión a diversos equipos de cómputo y estaciones de trabajo [1]. La figura 6.1
muestra los componentes de un instrumento virtual.

Figura 6.1 Componentes de un instrumento virtual.


6. Instrumentación Virtual 171

Aunque los sistemas de cómputo y la tecnologı́a de circuitos integrados han ex-


perimentado avances significativos en las últimas décadas, es el software el que
realmente provee la ventaja para construir sobre esta potente base de hardware para
crear los instrumentos virtuales, proveyendo mejores maneras de innovar y reducir
los costos significativamente de los sistemas desarrollados. Con los instrumentos
virtuales, los ingenieros e investigadores construyen sistemas de medición y auto-
matización que se ajustan exactamente a sus necesidades en lugar de estar limitados
por los instrumentos tradicionales con funciones fijas.
Este trabajo está organizado de la siguiente manera. En la sección 6.2 se presenta
de una manera breve la evolución de la instrumentación, ası́ como sus caracterı́sticas
más generales. En la sección 6.3 se presenta de una manera detallada las caracterı́sti-
cas de la instrumentación virtual. En la sección 6.4 se presenta la importancia del
software en la instrumentación virtual. En la sección 6.5 se presenta la aplicación
de la instrumentación virtual dentro del proceso de ingenierı́a y finalmente en la
sección 6.6 se muestran las conclusiones del capı́tulo.

6.2. Evolución de la instrumentación

La ciencia y la tecnologı́a se caracterizan por la necesidad de generar y medir


cantidades o variables fı́sicas y controlarlas. Para realizar una medición de una va-
riable fı́sica generalmente se requiere el uso de un instrumento, además uno de los
puntos claves para tomar esta medida es conocer la precisión y fiabilidad del instru-
mento utilizado. Por lo tanto, se puede definir un instrumento, como una extensión
de las facultades sensoriales humanas para determinar cuantitativamente la mag-
nitud de una variable fı́sica. Mientras que el término medición, como proceso, se
puede definir como un conjunto de actos experimentales dirigidos a determinar una
magnitud fı́sica de modo cuantitativo, empleando los medios técnicos apropiados y
en el que existe al menos un acto de observación.
Debido a la evolución de los instrumentos de medición o bien en su caso de los
sistemas de adquisición de señales para medición y control, ahora es imprescindi-
ble su uso en campos tan diversos como la automatización industrial, el control de
procesos, la industria de manufactura, las diferentes áreas de la robótica, la inge-
nierı́a experimental, en la industria automotriz, en la medicina, en la investigación
de nuevas tecnologı́as, etc. Por esto, a continuación se menciona como ha ido evolu-
cionando la instrumentación.

6.2.1. Instrumentos tradicionales

En el contexto de la electrónica, un instrumento tradicional es un equipo autóno-


mo al cuál se le conecta una o varias señales de entrada y para obtener información
que refleje un análisis de alguna o algunas caracterı́sticas de las señales de entrada
172 E. Juárez-Guerra et al.

aplicadas [2]. La funcionalidad de un instrumento tradicional se puede categorizar


en tres elementos: adquisición de datos, análisis de datos y presentación de la infor-
mación contenida en los datos, como se muestra en la figura 6.2.

Figura 6.2 Elementos funcionales de un instrumento tradicional.

Los instrumentos autónomos tradicionales, tales como osciloscopios y generado-


res de ondas, son muy poderosos, caros y diseñados para llevar a cabo una o más
tareas especı́ficas definidas por el fabricante. Sin embargo, el usuario por lo gene-
ral no puede extender o personalizar esas tareas, solamente puede programar las
funciones definidas por el fabricante. Las perillas y botones del instrumento, sus
circuitos electrónicos y las funciones disponibles para el usuario son todas especı́fi-
cas a la naturaleza del instrumento. Además, deben desarrollarse con una tecnologı́a
especial y sus componentes son costosos, lo cuál los hace muy caros y lentos para
adaptarlos a cualquier situación [1]. La figura 6.3 muestra algunos instrumentos de
medición tradicionales.

Figura 6.3 Instrumentos tradicionales.

Las caracterı́sticas más importantes de los instrumentos tradicionales son [2]:


Presentan funciones especı́ficas y limitadas por el fabricante.
Tiene conectividad limitada hacia periféricos.
El hardware es la clave, ya que la adquisición, el análisis y la presentación de
resultados se hace por medio de este.
6. Instrumentación Virtual 173

No toman decisiones, por lo que no actúan por sı́ mismos.


Debido al gran desarrollo y al alto costo de mantenimiento de los instrumentos
tradicionales, su evolución de ciclo de vida es de 5 a 10 años.

6.2.2. Instrumentos inteligentes

Los instrumentos tradicionales y aún los inteligentes, tienen funciones definidas


por el fabricante, tales como la capacidad de entrada/salida, circuitos especializa-
dos que incluyen convertidores A/D, acondicionamiento de señales y microproce-
sadores, memorias y bus interno para convertir señales del mundo real, en ellos se
analizan las señales de entrada y se presentan resultados al usuario [3].
Existen diferentes clases de inteligencia de estos dispositivos, como las que se
muestran a continuación:
Instrumentos con procesador integrado. Se desarrollaron debido a que la ele-
vada capacidad de cálculo que exigı́a un proceso era difı́cil de resolver mediante
circuiterı́a electrónica, entonces se precisó del auxilio de un microprocesador, ya
que las posibilidades de programación ofrecieron grandes ventajas respecto a los
dispositivos tradicionales.
Instrumentos que permiten fusión de datos. La fusión de datos puede ir desde
la fusión de datos sencilla, es decir un promedio, hasta una fusión de datos más
compleja, por ejemplo, en el caso de sensores, una fusión de datos proveniente de
sensores del mismo tipo o de diferentes sensores, que pueden tener incertidumbre o
ruido.
Instrumentos que incluyen alguna técnica de Inteligencia Artificial. Estas
técnicas les permiten tomar decisiones sobre la validez o invalidez de un dato,
además de proporcionar un código de error si ocurre una falla en estos datos.
Instrumentos con capacidades de comunicación. Además de un nivel de de-
cisión, se les incorpora un circuito que les permite tener capacidades de comuni-
cación con otros instrumentos.
Instrumentos con Inteligencia Distribuida. Se comunican entre ellos mismos
y con dispositivos de control, tales como computadoras y controladores lógicos pro-
gramables, a través de un par trenzado o algún medio similar [3].
Las caracterı́sticas más importantes de los instrumentos inteligentes son:
El fabricante define todas las funciones del instrumento y el usuario no puede
cambiarlo.
Permiten la fusión de datos.
Implementan acciones inteligentes las cuales sustituyen alguna de las actividades
anteriormente realizadas por el hombre, tales como la detección de fallas, auto-
ajuste, etc.
Manejan información con incertidumbre, es decir, que puede estar incompleta o
con ruido.
174 E. Juárez-Guerra et al.

Detectan y corrigen fallas que ocurren con el tiempo en los elementos de proce-
samiento analógico, como son los capacitores, OP-AMPS, etc.
Codifican y transmiten en forma digital la información, además de detectar y
corregir errores que surgen en la transmisión de información.
La figura 6.4 muestra las imágenes de algunos instrumentos inteligentes.

Figura 6.4 Instrumentos inteligentes.

Un instrumento inteligente al igual que los instrumentos tradicionales también


contiene tres elementos funcionales: Adquisición de datos, Análisis y toma de deci-
siones y Presentación de resultados, los cuales se muestran en la figura 6.5. En esta
figura, se puede observar que en el bloque de análisis, ya existe un módulo de Toma
de decisiones, y esto se debe a que el instrumento ya contiene un microprocesador
el cuál se le han programado ciertas actividades para dar respuesta a situaciones
especı́ficas.

Figura 6.5 Elementos funcionales de un instrumento inteligente.

6.2.3. Instrumentos virtuales

La tendencia de hace unos 10 años fue que las computadoras iniciaran un proce-
so de servir como mecanismo de instrumentación. Actualmente se refuerza esta ten-
dencia y se puede observar en cualquier equipo electrónico, el cual ahora cuenta con
6. Instrumentación Virtual 175

una arquitectura similar a un sistema de cómputo (procesador, memoria, periféricos,


etc.) y en algunos casos con sistemas de medición incorporados al equipo elec-
trónico. Los conceptos fundamentales de la instrumentación virtual trasladan direc-
tamente la lı́nea de beneficios para el usuario, pues el usuario, es aquı́ el que define
las funciones del instrumento y no el fabricante [3].
El software es la clave en estos instrumentos virtuales, ya que es el que propor-
ciona las herramientas necesarias al usuario para construir instrumentos virtuales
y expandir sus funciones al proveer conectividad a las grandes capacidades de las
computadoras, estaciones de trabajo y su variedad de aplicaciones [3].
Un instrumento virtual contiene también tres elementos funcionales: Adquisición
de datos, Análisis de datos y Presentación de resultados. Sin embargo, estos elemen-
tos no necesariamente residen en el mismo gabinete, lo cuál da pie a la virtualización
del instrumento. La palabra virtual se relaciona con el hecho de que aunque no existe
fı́sicamente lo que se está denominando como virtual, da la sensación de que exis-
te (por la funcionalidad). En este orden de ideas, podemos definir un instrumento
virtual como:
“Un conjunto de software y hardware adicionado a un sistema de cómputo de
uso general de manera que el usuario pueda interactuar con el sistema de cómputo
y a través de él, generar su propio sistema de medición diseñado por el mismo o
bien interactuar con el sistema de cómputo para realizar mediciones como si fuese
un instrumento tradicional” [2].
De esta manera la funcionalidad de un instrumento virtual estarı́a representada
por la figura 6.6, donde podemos observar que ahora dos terceras partes del instru-
mento están constituidas por software, lo que hace a este más flexible, versátil y
poderoso.

Figura 6.6 Elementos funcionales de un instrumento virtual.

Las caracterı́sticas más importantes de los instrumentos virtuales son [2]:

Proporciona una arquitectura abierta por medio de la computadora, es decir, la


funcionalidad de los instrumentos virtuales es definida por el usuario y no por el
fabricante de determinado instrumento.
Se aplica a sistemas orientados con conectividad a redes, periféricos, y otras
aplicaciones, ya que aquı́ el software es la clave, por medio de él, se agregan
176 E. Juárez-Guerra et al.

todos los elementos necesarios para que el instrumento funcione de acuerdo a las
necesidades del usuario.
Bajos costo y reusabilidad, ya que el software minimiza el desarrollo y los costos
de mantenimiento.
La figura 6.7 muestra las imágenes de algunos instrumentos virtuales.

Figura 6.7 Instrumentos virtuales.

6.3. Instrumentación virtual

El desarrollo tecnológico en los últimos años sobre todo en el área de la elec-


trónica han abierto posibilidades que antes parecı́an inalcanzables, tales como los
instrumentos de medición que han dejado de tener una estructura rı́gida y han emi-
grado hacia una arquitectura abierta y flexible. Esta arquitectura se basa en la fun-
cionalidad de una computadora o sistema de cómputo, en hardware de adquisición
de datos, circuitos de acondicionamiento, transmisión de datos y principalmente en
el software, presentándose ası́ la facilidad de incorporar nuevos equipos con mayor
rendimiento y mejores caracterı́sticas que los instrumentos tradicionales que pre-
sentan funciones fijas establecidas por el fabricante.

6.3.1. El concepto de instrumentación virtual

El concepto de Instrumentación Virtual surge a partir de la utilización de una


computadora o sistema de cómputo como un instrumento para realizar mediciones
de variables fı́sicas, reemplazando de esta manera gran parte de hardware por soft-
ware. De esta manera el usuario interactúa con la computadora como si estuviese
trabajando o manipulando un instrumento tradicional real, la realidad es que está in-
teractuando con un instrumento que no es real, las funciones se ejecutan en la com-
putadora definidas previamente por una programación por software, pero se ob-
6. Instrumentación Virtual 177

tienen los mismos resultados que con un instrumento real tradicional, siendo ası́ que
el usuario está trabajando con un instrumento virtual.
La ventaja de sustituir elementos de hardware por software es la de permitir que
el instrumento o sistema virtual desarrollado sea flexible en su funcionalidad, pudi-
endo ser modificado en el momento en que se desee. Para realizar un instrumento
virtual es necesario hardware especı́fico y un software con el cual se podrá progra-
mar la funcionalidad del instrumento y configurar al hardware para leer los datos
requeridos para realizar una medición. En la mayorı́a de las ocasiones el usuario
sólo tiene acceso a una representación gráfica o panel de control en pantalla de la
computadora, donde se cuenta con controles e indicadores para manipular el instru-
mento virtual.
El concepto de Instrumentación virtual básicamente involucra la adquisición de
señales, el análisis, procesamiento, almacenamiento, distribución de los datos y pre-
sentación de los resultados o información al usuario, todo esto relacionado con la
medición de una o varias señales o variables fı́sicas. Además se le puede agregar
el diseño de la interfaz hombre-máquina, la visualización, monitoreo y supervisión
remota del proceso, la comunicación con otros dispositivos o equipos, etc.
A partir de esto, se puede decir que la Instrumentación virtual está enfocada al
desarrollo de instrumentos o sistemas de medición encargados de medir señales,
registrar datos y tomar decisiones (acciones de control), basados en un sistema de
cómputo, mediante hardware especializado y software especı́fico para la progra-
mación de la funcionalidad del sistema o instrumento.
Es evidente que para la instrumentación virtual se requiere al menos de dos etapas
de hardware esenciales, una para la entrada y otra para la salida. En la etapa de
entrada se requieren generalmente transductores de entrada, mejor conocidos como
sensores, que son los encargados de transformar la variable fı́sica a medir a una señal
eléctrica. En la etapa de salida se requieren transductores de salida, mejor conocidos
como actuadores, que son los encargados de transformar la señal eléctrica en otra
señal que tal vez no necesariamente sea eléctrica, esto dependerá de la señal de
salida que se desee. Tanto en la etapa de entrada como en la de salida se pueden
requerir circuitos de acondicionamiento de señal.
La parte fundamental de la Instrumentación virtual es el software. Una de las
empresas que inició con el concepto de la instrumentación virtual es National Ins-
truments. En 1983 Truchard y Kodosky de National Instruments, decidieron crear
un software que permitiera utilizar la computadora personal como un instrumento
para realizar mediciones. Tres años más tarde crearon la primera versión de soft-
ware que permitió, de una manera gráfica y sencilla, diseñar un instrumento de
medición basado en la computadora [4]. La figura 6.8 muestra el concepto de la
instrumentación virtual, donde se puede observar que el usuario interactúa con un
sistema de cómputo y a través de él se realizan mediciones y en su caso se toman
decisiones en un proceso en el cuál no se está en forma presencial.
El software que desarrolló National Instruments para la programación de los
instrumentos virtuales se conoce como Laboratory Virtual Instrument Engineering
Workbench, más comúnmente conocido por las siglas LabVIEW. También existen
178 E. Juárez-Guerra et al.

Figura 6.8 Concepto de la Instrumentación virtual.

otros software dedicados a la Instrumentación virtual tales como Cyber tools, Dasy-
Lab, Matlab Simulink, DAP Measurement Studio, Agilent VEE y otros.
Un instrumento tradicional se caracteriza por realizar una o varias funciones es-
pecı́ficas que no pueden ser modificadas, mientras que un Instrumento virtual es
una combinación de elementos de hardware y software usados en un sistema de
cómputo, que cumple las mismas funciones que el instrumento tradicional. A di-
ferencia de un instrumento convencional o tradicional, un instrumento virtual es
altamente flexible y puede ser diseñado por el usuario de acuerdo a sus necesidades
y sus funciones pueden ser cambiadas a voluntad del mismo usuario modificando
el programa. Estas caracterı́sticas de los instrumentos virtuales los convierten en
una herramienta didáctica muy importante para aplicarse en el aprendizaje de los
estudiantes de las ciencias y de la ingenierı́a [4].

6.3.2. Caracterı́sticas de la instrumentación virtual

Debido a que los instrumentos virtuales están basados en un sistema de cómputo,


éstos aprovechan inherentemente los beneficios de la última tecnologı́a de los sis-
temas de cómputo. Estos avances en tecnologı́a y rendimiento, que están cerrando
rápidamente la brecha entre los instrumentos inteligentes y las computadoras, in-
cluyen poderosos procesadores, sistemas operativos, memoria y demás tecnologı́as
como el Internet. Los instrumentos tradicionales también adolecen frecuentemente
de falta de portabilidad, en tanto que los instrumentos virtuales que se ejecutan en
sistemas de cómputo portátiles automáticamente incorporan esta naturaleza portátil.
Los investigadores e ingenieros cuyas necesidades, aplicaciones y requerimien-
tos varı́an muy rápidamente, necesitan flexibilidad y portabilidad para crear sus
propias soluciones. Actualmente se puede adaptar un instrumento virtual a las
necesidades particulares de un cliente sin necesidad de reemplazar todo el ins-
trumento, dado que el software es parte esencial en la programación de su fun-
cionamiento, independientemente del sistema de cómputo y el hardware instalado
6. Instrumentación Virtual 179

en el mismo. En las siguientes lı́neas se explican brevemente algunas de las carac-


terı́sticas deseables en la Instrumentación virtual.

6.3.2.1. Flexibilidad y estabilidad

A excepción de los componentes especializados y los circuitos hallados en los


instrumentos tradicionales, la arquitectura general de los instrumentos inteligentes
es muy similar a la hallada en un instrumento virtual basado en un sistema de
cómputo. Ambos requieren procesadores, puertos de comunicación y capacidad de
mostrar resultados, ası́ como también módulos de adquisición de datos. La diferen-
cia entre uno y otro es su flexibilidad, esto es que se puede modificar y adaptar el
instrumento a ciertas necesidades particulares. Un instrumento tradicional podrı́a
contener un circuito integrado para llevar a cabo un conjunto particular de instruc-
ciones de procesamiento de datos; en un instrumento virtual estas funciones po-
drı́an llevarse a cabo por el programa que se ejecuta en el procesador del sistema de
cómputo. Por lo que es posible extender fácilmente ese conjunto de funciones y la
limitación sólo serı́a la capacidad del software y hardware que se utilice [1].
Los ingenieros e investigadores tienen necesidades y requerimientos que cam-
bian rápidamente. Ellos también necesitan tener soluciones extensas que puedan
ser mantenidas y utilizadas por un largo periodo. Creando instrumentos virtuales se
puede diseñar un ambiente de trabajo abierto que se integre de modo ininterrumpido
con el software y el hardware. Esto asegura que las aplicaciones no sólo funcionarán
hoy, sino que posteriormente se podrán integrar nuevas tecnologı́as a medida que
ellas se hallen disponibles, o extender las soluciones más allá de su alcance original
a medida de que se identifiquen nuevos requerimientos.

6.3.2.2. Reducción de costos

Utilizando soluciones basadas en instrumentación virtual, se pueden reducir cos-


tos de inversión, desarrollo de sistemas y mantenimiento de la misma manera que
mejora el tiempo de comercialización y calidad de la producción. Debido a que la
funcionalidad de los instrumentos virtuales se basa en el software con el cual son
programados, por lo que la reducción de costos se ve reflejada en la adquisición del
software, ya que esta se hace una sola vez y por el mismo costo se pueden desa-
rrollar más de un instrumento virtual para solucionar diversas tareas de medición.
Además una vez desarrollado un instrumento virtual y si es necesario modificar su
funcionalidad se puede hacer, sin invertir nuevamente a diferencia de un instrumento
tradicional, en el cual si se requerirı́a una nueva inversión. Los ahorros compuestos a
través del tiempo en instrumentos virtuales se logran al obtener muchas aplicaciones
con un solo dispositivo.
180 E. Juárez-Guerra et al.

6.3.2.3. Conectividad y control de instrumentos

La productividad y eficiencia del software de Instrumentación virtual depende


de las caracterı́sticas especı́ficas del software a utilizar, la mayorı́a de estos paquetes
computacionales incluyen el reconocimiento de la integración del hardware. Gene-
ralmente el software de Instrumentación virtual incluye una extensa funcionalidad
para entradas y salidas, prácticamente de cualquier tipo para crear simulaciones,
mediciones y control de sistemas.
La adquisición de los datos o señales que se procesan en un Instrumento virtual
o Sistema virtual se pueden obtener de muchos dispositivos, por ejemplo mediante
GPIB (General Purpose Interface Bus), VXI (VME eXtensions for Instrumentation),
dispositivos serie, PLCs (Programmable Logic Controllers), tarjetas de adquisición
de datos DAQ, archivos, etc. También se puede conectar el Instrumento virtual a
otras fuentes de datos vı́a red o internet, se puede realizar comunicación entre apli-
caciones y enlaces a bases de datos. Una vez adquiridos los datos, se pueden utilizar
las rutinas más avanzadas de análisis de datos del software para transformar sus
datos iniciales en resultados [1].
El software a utilizar contiene bibliotecas listas para ser utilizadas con el obje-
to de integrar instrumentos autónomos, equipos de adquisición de datos, productos
para el control de movimientos y de visión, instrumentos GPIB/IEEE 488, serie RS-
232 y PLCs, entre otros, lo cuál permite construir una solución completa de medi-
ción y automatización. En fin, la conectividad de un instrumento virtual y la relación
con el control de otros instrumentos autónomos, está limitada por las caracterı́sticas
del software con el cual fue desarrollado. La figura 6.9 muestra las diferentes formas
de comunicación de un Instrumento virtual.

Figura 6.9 Medición y automatización de un Instrumento virtual.


6. Instrumentación Virtual 181

6.3.2.4. Plataformas múltiples

La mayorı́a de los sistemas computacionales utilizan alguna variante del sistema


operativo Microsoft Windows; no obstante ello, existen otras opciones que ofrecen
claras ventajas para ciertos tipos de aplicaciones. El desarrollo de sistemas opera-
tivos de tiempo real y embebido continúa rápidamente en la mayorı́a de las indus-
trias a medida que la capacidad de cálculo es incorporada en paquetes más espe-
cializados y pequeños. Es importante minimizar las pérdidas resultantes del cambio
hacia nuevas plataformas y elección del software correcto para dicho objetivo es un
factor clave [1].
Debido a que un Instrumento virtual se ejecuta en un sistema de cómputo es
deseable que el software utilizado se pueda ejecutar en varios sistemas operativos,
haciendo portable al Instrumento virtual y agregándole ası́ una ventaja más sobre
los instrumentos tradicionales. LabVIEW es uno de los software utilizados en la
Instrumentación virtual que minimiza esta preocupación ya que se ejecuta en Win-
dows Vista, Windows 2000, NT, XP, Me, 98, 95 y NT embebido, ası́ como también
sobre Mac, Sun y Linux. Lo ideal es que el Instrumento virtual sea independiente de
la plataforma en la que haya sido desarrollado, de tal manera que pueda ser trans-
portado de manera transparente a cualquier otra plataforma simplemente abriendo el
Instrumento virtual [1]. Con esto puede asegurarse que el trabajo de hoy será utili-
zable en el futuro. A medida que surjan nuevas tecnologı́as computacionales, pueden
migrar fácilmente sus aplicaciones a las nuevas plataformas y sistemas operativos.
Además, debido a que puede crear instrumentos virtuales que son independientes de
la plataforma y transportarlo entre distintas plataformas, puede ahorrarse tiempo de
desarrollo y otros inconvenientes relacionados con la portabilidad entre plataformas.

6.3.2.5. Desarrollo distribuido

Con la Instrumentación virtual se pueden desarrollar fácilmente aplicaciones dis-


tribuidas, aún entre diferentes plataformas. Con herramientas de servidores fáciles
de usar, puede descargar rutinas que hacen un uso intensivo del procesador a otras
computadoras para lograr una ejecución más rápida, o crear aplicaciones de mo-
nitoreo y control remoto. Una tecnologı́a de servidores poderosa puede simplificar
la tarea de desarrollar aplicaciones grandes y que requieran de múltiples computa-
doras. Para esto, el software debe incluir tecnologı́as normalizadas de redes, tales
como TCP/IP e incorporar protocolos robustos de publicación y suscripción. La
figura 6.10 muestra un ejemplo de un desarrollo distribuido.

6.3.2.6. Medio ambiente abierto

La Instrumentación virtual constituye un medio ambiente de desarrollo abierto.


El cumplimiento de normas por parte del software se basa principalmente en la ha-
bilidad para trabajar bien con otros sistemas de software y hardware de medición y
182 E. Juárez-Guerra et al.

Figura 6.10 Desarrollo distribuido.

control, y normas abiertas, que definen la capacidad de interactuar entre múltiples


fabricantes. Seleccionando el software que cumple con estos criterios se asegura que
la empresa y las aplicaciones aprovechen los productos ofrecidos por numerosos
proveedores. Además, ajustándose a normas comerciales abiertas, reduciendo el
costo total del sistema.

6.3.2.7. Capacidad de análisis

El software de la instrumentación virtual requiere de complejas herramientas de


análisis y procesamiento de señales ya que la aplicación no se detiene justo cuando
el dato es adquirido. Usualmente, las aplicaciones de mediciones de alta velocidad
en los sistemas de monitoreo y control de maquinaria requieren análisis de orden
para lograr obtener datos de vibración precisos. Los sistemas de control embebidos
de lazo cerrado podrı́an requerir premediación punto a punto para lograr que los
algoritmos de control mantengan la estabilidad. Por lo tanto es importante conocer
las capacidades de los diferentes software y sobre todo la elección del software que
más se adapte a las necesidades del problema a solucionar [1].

6.3.2.8. Capacidades de visualización

En un instrumento virtual es importante la visualización de resultados, ya que


esto está enfocado principalmente en la interface del usuario. La presentación de
resultados hacia el usuario y principalmente en aquellos que se muestran en pan-
talla son de vital importancia, ya que se refleja la funcionalidad del instrumento
virtual. Por lo tanto, a la hora de seleccionar el software es conveniente verificar
que el software incluya un amplio conjunto de herramientas de visualización para
presentar datos en la interfaz del usuario, tanto para gráficos continuos como tam-
6. Instrumentación Virtual 183

bién para visualización de gráficos 2D y 3D. También que se pueda reconfigurar de


manera instantánea los atributos de la presentación de los datos, tales como: colores,
tamaño de fuentes, tipos de gráficos y más, ası́ también como efectuar rotación, en-
foque (zoom) y desplazamiento dinámico en estos gráficos con el ratón. Todas estas
caracterı́sticas son un valor agregado al Instrumento virtual y que difı́cilmente se
podrı́a dar en un instrumento tradicional.

6.3.2.9. Hardware

Existe una amplia variedad disponible de hardware que se puede conectar a un


sistema de cómputo, estos dispositivos ofrecen un amplio rango de capacidades de
adquisición de datos a un costo significativamente inferior que el correspondiente
a dispositivos dedicados a esta aplicación. A medida que la tecnologı́a de circuitos
integrados avanza y los componentes comunes se vuelven más baratos y con mayor
potencia, también lo hace todo el hardware de los sistemas de cómputo. Junto con
estos avances tecnológicos viene un incremento en las capacidades y velocidades de
adquisición de datos, precisión de las mediciones y mejor aislamiento de las señales
[1].
Dependiendo de la aplicación en particular, el hardware que existe actualmente
contiene entradas o salidas analógicas, entradas o salidas digitales, contadores, tem-
porizadores, filtros, muestreo simultáneo y capacidades de generación de ondas. La
amplia gama de tarjetas y hardware puede incluir todas esas caracterı́sticas o bien
una combinación de ellas.
Finalizando esta sección, se puede concluir mostrando los beneficios de la
Instrumentación virtual basados en las caracterı́sticas más importantes en la figu-
ra 6.11.

Figura 6.11 Beneficios de la Instrumentación virtual.


184 E. Juárez-Guerra et al.

6.4. El software en la instrumentación virtual

El software es la parte más importante de un instrumento virtual. Con la herra-


mienta de software apropiada los investigadores e ingenieros pueden crear eficien-
temente sus propias aplicaciones, diseñando e integrando las rutinas que requiera un
proceso o sistema en particular. También se pueden crear las interfaces de usuario
que mejor satisfagan el objetivo de la aplicación y de aquellos que vayan a interac-
tuar con ellas. Se puede definir cómo y cuando se deben adquirir los datos desde el
dispositivo, cómo deben procesarlos, manipularlos, almacenarlos y finalmente como
presentar los resultados al usuario.

6.4.1. Herramientas para la instrumentación virtual

Contando con un software adecuado, se puede dotar a los instrumentos virtuales


con capacidades de inteligencia y de toma de decisiones, de manera tal que se
adapten a las necesidades de la aplicación, haciendo que el instrumento esté he-
cho a la medida del problema a solucionar. Una importante ventaja que provee el
software es la modularidad. Cuando se trata de un gran proyecto, el desarrollador
generalmente aborda la tarea dividiéndola en tareas mı́nimas especı́ficas. Estas tare-
as son más manejables, más fáciles de desarrollar y probar ya que presentan menor
dependencia de datos que podrı́an causar comportamientos inesperados. Entonces se
puede diseñar un instrumento virtual, dividiendo una tarea compleja en varias tareas
simples y especı́ficas, para después reunirlas en un sistema completo resolviendo la
tarea de mayor importancia. La facilidad con la cual se puede realizar esta división
de tareas depende en mayor medida de la arquitectura subyacente en el software [1].
Existe una extensa lista de compañı́as que se dedican al desarrollo de software
para instrumentación virtual, entre los principales software utilizados están Lab-
VIEW, Agilent VEE, CyberTools, DASYLab y Matlab Simulink. Existen otros, pero
estos son los más notorios por su variada gama de aplicaciones y su extensa popu-
laridad. A continuación se da una breve explicación de su funcionamiento de estos,
dando un poco de mayor énfasis a LabVIEW.

6.4.2. LabVIEW

LabVIEW (por sus siglas en inglés, Laboratory Virtual Instrument Engineering


Workbench) es un software que emplea una metodologı́a de programación gráfica a
diferencia de los lenguajes de programación tradicionales, donde su código se basa
en comandos o secuencias de texto. En LabVIEW la programación se realiza de
manera similar a un diagrama de flujo. La aplicación más importante que se le da a
este software, es en el diseño de sistemas de adquisición de datos, instrumentación
y control, ya que LabVIEW cuenta con bibliotecas de funciones y herramientas
6. Instrumentación Virtual 185

especı́ficas sobre éstas áreas, por lo que logra obtener la aplicación sin sacrificar
rendimiento. Estas bibliotecas a la vez se dividen en grupos para la adquisición,
procesamiento, presentación y almacenamiento de datos. Otra caracterı́stica impor-
tante de LabVIEW es que se pueden crear interfaces interactivas de usuario, de tal
manera que la apariencia sea amigable y de fácil comprensión para el usuario y
generalmente muy similar al sistema o instrumento tradicional de medición.
Clark, Cockrum, Ibrahim y Smith (1994), señalan que LabVIEW es un lenguaje
de programación gráfica, que se ejecuta a velocidades comparables con programas
compilados en C; igualmente mencionan que un instrumento virtual es un módulo
de software, realizado gráficamente para que parezca un instrumento fı́sico; tiene
un panel frontal que sirve como interface interactiva para entradas y salidas, un
diagrama de bloques que determina la funcionalidad del instrumento virtual [4].
Estos autores resaltan como caracterı́stica muy importante del LabVIEW que, por
ser conceptualmente simple, los estudiantes se pueden centrar en el contenido básico
del experimento, no perdiendo tiempo en actividades menos importantes, como la
recolección de datos.
A continuación se muestra un breve resumen de la evolución de LabVIEW:
1986 LabVIEW 1.0 para Macintosh.
1990 LabVIEW 2.0 para Macintosh.
1992 LabVIEW para Sun y para Windows.
1993 LabVIEW 3.0. Versión para múltiples plataformas.
1994 LabVIEW 3.1. Versiones para HP-UX y PowerMac.
1997 LabVIEW 4.1. DAQ Wizards sobre Windows.
1998 LabVIEW 5.0. ActiveX, multihilos.
1999 LabVIEW 5.1. Gráficas 3D, herramientas Web, Linux.
2000 LabVIEW 6i. Mediciones inteligentes por internet.
2002 LabVIEW 6.1. Paneles remotos, manejo de eventos.
2003 LabVIEW 7.0. VI Express, Modulo de tiempo real.
2004. LabVIEW 7.1. VI Express adicionales.
2005. LabVIEW 8.0. VI Express e Inteligencia distribuida.
2006. LabVIEW 8.2. Programación orientada a objetos.
2007. LabVIEW 8.5. Herramientas de control de memoria y funciones Math-
script.
2008. LabVIEW 8.6. Programación paralela, Wi-Fi, Multinúcleo y Tecnologı́a
FPGA.
186 E. Juárez-Guerra et al.

LabVIEW utiliza el lenguaje de programación G, el cual consiste en un método


de programación gráfica donde se unen objetos que en conjunto realizan una función
o tarea especı́fica.
Otros sistemas de programación utilizan lenguajes basados en texto para realizar
sus aplicaciones; LabVIEW utiliza el lenguaje de programación G, usado para crear
programas en forma de diagramas de bloques. La figura 6.12 muestra un ejemplo de
un diagrama de bloques.

Figura 6.12 Diagrama de bloques.

El lenguaje de programación G simplifica el desarrollo de una gran variedad de


aplicaciones como monitoreo y control de procesos, entre otras. Con este lenguaje
se puede realizar programación modular, por ejemplo si se tiene una aplicación muy
compleja, esta se puede dividir en una serie de aplicaciones que a la vez son más
simples y ası́ poder desarrollar cada una mediante el lenguaje G y por último, unir
los programas desarrollados para completar la aplicación inicial. Además que uno
de los programas desarrollados de un bloque puede ser utilizado para otra aplicación
similar.
En LabVIEW las acciones se describen por sı́mbolos gráficos y todos los pro-
gramas realizados se llaman Instrumentos Virtuales. Un Instrumento virtual (VI) en
LabVIEW consta básicamente de tres elementos:
1. Interfaz interactiva (Panel frontal).
2. Diagrama de flujo de datos (Diagrama de bloques).
3. Íconos de conexiones para agrupaciones a niveles más altos.
El Panel Frontal es una interfaz interactiva en la cuál se colocan generalmente
controles e indicadores de tal manera que tenga una apariencia similar a un ins-
trumento tradicional (estilo de diseño). Los datos se introducen usando el ratón, el
teclado, archivos, hardware, GPIB, serie, etc. El panel frontal es la parte visible del
instrumento virtual al usuario. Por lo tanto, los usuarios interactúan con el sistema
o instrumento virtual como si fuese un instrumento electrónico tradicional.
En el diagrama de bloques se programan las instrucciones que se deseen ejecutar
alambrando objetos que son colocados dentro del diagrama. Esta parte es funda-
mental para el funcionamiento del instrumento virtual, ya que aquı́ se programan
todas las funciones que debe tener el instrumento o sistema a desarrollar.
6. Instrumentación Virtual 187

El ı́cono y el conector de un instrumento virtual equivalen a la representación


del programa y a la lista de parámetros gráficos para intercambiar datos, respecti-
vamente, los dos en un solo bloque con la opción de visualizar el ı́cono o bien el
conector.
La figura 6.13 muestra el panel frontal (izquierda) y el diagrama de bloques
(derecha), mientras que en la figura 6.14 se muestra el ı́cono y conector de un instru-
mento virtual. Aunque en la parte superior derecha del panel frontal y del diagrama
de bloques se observa el ı́cono que representa el mismo instrumento virtual, también
se tiene la opción para observar su conector correspondiente.

Figura 6.13 Panel frontal y diagrama de bloques de un instrumento virtual.

Figura 6.14 Ícono y conector dentro de un instrumento virtual.

Los instrumentos virtuales son jerárquicos y modulares, es decir, se pueden usar


como programa principal o como subprograma (SubVI). Cuando el ı́cono de un
instrumento virtual se coloca en el diagrama de otro se convierte en un SubVI,
esto se observa en la figura 6.14. En la figura 6.15 se muestran los niveles de un
instrumento virtual, donde se puede observar el nivel más alto y el nivel más bajo
de un instrumento virtual.
Para editar un instrumento virtual se usan paletas y menús. Los objetos se esco-
gen de las paletas y se colocan en el panel frontal o en el diagrama a bloques. En el
panel frontal se tiene la paleta de controles, mientras que en el diagrama de bloques
se tiene una paleta de funciones, de donde se pueden obtener diferentes objetos para
188 E. Juárez-Guerra et al.

Figura 6.15 Niveles de un instrumento virtual.

realizar una aplicación. También en LabVIEW se tiene una paleta de herramientas


para cambiar el puntero y realizar las diferentes operaciones, tales como: mover,
seleccionar, operación, texto, colorear, etc. Estas paletas se pueden observar en la
figura 6.16.

Figura 6.16 a)Paleta de herramientas, b)Paleta de controles, c)Paleta de funciones.

LabVIEW puede comunicarse de forma sencilla con todo tipo de hardware, des-
de un Asistente digital personal (PDA, por sus siglas en inglés Personal Digital
Assistant) hasta una computadora o bien hasta con controladores lógicos programa-
bles. Ası́ mismo, también es compatible con otras aplicaciones, pudiendo compartir
datos a través del internet, AcviveX, DLLs, librerı́as compartidas, SQL, TCP/IP,
XML, OPC y otros. De la misma manera que LabVIEW es un software compilado
para optimizar el desempeño del sistema, dado que la velocidad de ejecución resulta
vital en cualquier proceso.
6. Instrumentación Virtual 189

6.4.3. Agilent VEE Pro

VEE (Visual Engineering Enviroment) es un ambiente de programación gráfi-


co creado por Agilent Technologies, para aplicaciones de adquisición de datos, de
prueba, de verificación, de diseño, de calibración o para la generación de instru-
mentos de medición o generación de señales. La figura 6.17 muestra el ambiente de
trabajo de VEE.

Figura 6.17 Ambiente de trabajo de VEE.

Los programas en VEE son creados seleccionando y conectando entre sı́ objetos
desde la barra de menú. El resultado de esto es un diagrama de flujo de datos, el
cual es mucho más fácil de entender que un programa tradicional basado en texto.
VEE cuenta con un panel principal, el cual muestra sólo los objetos que el usuario
necesita para ejecutar el programa y para ver los resultados.
Este software está diseñado para ser una herramienta que pueda automatizar in-
herentemente tareas complejas. VEE es compatible con los programas de Microsoft,
tal es el caso de Word, Excel, Outlook y otros, de la misma manera reconoce lengua-
jes de programación como Visual Basic, Visual C++, LabVIEW y Matlab. VEE
utiliza LAN/GPIB y también RS-232 como puertos de enlace permitiendo comuni-
carse con otros dispositivos en cuanto a tecnologı́as de redes. Este software puede
aumentar la productividad reduciendo dramáticamente el tiempo de desarrollo en
aplicaciones.
Finalmente otra de las herramientas importantes de VEE es que permite simpli-
ficar la comunicación con instrumentos y otros componentes. Mediante el ”Instru-
ment Manager”del VEE se puede hacer una búsqueda en el bus de equipos conec-
tados a la computadora, sin la necesidad de crear enlaces de direcciones hacia los
instrumentos que están conectados al bus o leer controladores [5].
190 E. Juárez-Guerra et al.

6.4.4. CyberTools

CyberTools es un ambiente de desarrollo de sistemas de control y monitoreo des-


de la computadora, desarrollado por SCM (Scientific Computing and Modelling)
International. El software está basado en una estructura con procesador virtual mul-
titarea. Una de sus principales caracterı́sticas es su capacidad de procesamiento de
eventos en paralelo y la posibilidad de compilación de aplicaciones en tiempo real.
Su contexto de desarrollo está orientado a objetos. La versión profesional permite
hacer sistemas embebidos de las aplicaciones desarrolladas por el usuario en una
única clase, facilitando de esta manera la reutilización del recurso creado [6].
CyberTools es una herramienta flexible con la cuales se pueden desarrollar sis-
temas de recolección y manejo de datos, además de automatizar la captura de datos,
mediciones automáticas, o control de procesos por medio de una programación ori-
entada a objetos y de programación visual de pantallas y páneles en entorno Win-
dows, esto se observa en la figura 6.18.

Figura 6.18 Ambiente de trabajo de CyberTools.

Entre los paquetes que conforman este software se tienen [7]:


Cyber View: Es una herramienta para la programación visual de ventanas de
interfase y monitoreo para desarrollar aplicaciones de instrumentación virtual. Mi-
croLab: Permite elaborar ventanas de osciloscopio, registradores, almacenamiento
y extracción de datos, bloques de adquisición de datos. Permite editar sus propios
controles, paneles, listas, etc. Dbase Cyber Tools: Permite acceder a bases de datos
por medio de comandos SQL, pudiendo actualizar, leer, eliminar, buscar y otras
operaciones más sobre registros y campos de bases de datos. Cyber Tools Reporter:
Permite generar registros para luego importarlos a alguna planilla de cálculo, co-
mo Excel. IPControl: Se pueden desarrollar sistemas que podrán ser monitoreados
desde Internet o intranet. Combinado con otros opcionales se convierte en una gran
herramienta para control industrial, medicina, control de la producción, domótica,
sistemas de seguridad, etc.
6. Instrumentación Virtual 191

Las licencias son totalmente modulares y de bajo costo, incluyendo librerı́as para
almacenamiento de datos, control y monitoreo de hardware y controladores indus-
triales, interconexión de aplicaciones Cyber Tool por medio de internet o intranet.

6.4.5. DASYLab

DASYLab (Data Acquisition System Laboratory) es una herramienta de análisis


gráfica interactiva que permite desarrollar aplicaciones basadas en la adquisición,
control y simulación de dispositivos externos y datos. El sistema de funcionamien-
to de DASYLab es simple: se seleccionan los módulos de función deseados y se
posicionan en el entorno de trabajo del programa. Posteriormente, se configuran las
tareas a realizar conectando los diferentes módulos. Este software es desarrollado
por DASYLab Inc., La figura 6.19 muestra el entorno de trabajo de este software.

Figura 6.19 Entorno de trabajo de DASYLab.

DASYLab soporta una amplia variedad de dispositivos de control y tarjetas


de adquisición de datos, ası́ como diferentes interfaces que permiten la comuni-
cación con dispositivos externos. El programa contempla los módulos de adquisi-
ción, control y análisis, incluyendo entradas y salidas analógico/digitales, funciones
matemáticas y estadı́sticas, filtros digitales, análisis FFT, conmutadores e interrup-
tores. Los operadores lógicos, conmutadores, interruptores y el generador de se-
cuencias incluidos en DASYLab proporcionan formas de onda exactas basadas en
192 E. Juárez-Guerra et al.

el tiempo para señales de control complejas. Además, los datos pueden guardarse
para ser analizados posteriormente por cualquier tipo de aplicación externa.
El programa está disponible en cuatro ediciones diferentes: DASYLab Ligth,
contiene las funciones básicas para la adquisición y representación de datos vı́a
computadora; DASYLab Basic, incluye funciones matemático-estadı́sticas, ası́ co-
mo un conjunto de módulos de control básicos; DASYLab Full, proporciona un nue-
vo conjunto de bloques adicionales que permiten automatizar las medidas, además
de tareas de análisis; y DASYLab Professional que además contiene funcionalidades
de red, análisis de frecuencias, amplitudes y el módulo generador de setpoints [8].
DASYLab soporta una amplia variedad de diferentes dispositivos de adquisición
de datos utilizando cualquier tipo de interfaz que disponga la computadora. Entre
estos se pueden mencionar: PCI, PXI/Compact-PCI, USB, PC-Card, CAN, Ether-
net, RS-232, IEEE, SPS Simatic S7, etc. Además cabe mencionar que dispone de
módulos de extensión, tales como: Analysis Toolkit, Sequence generator, Acústica,
entre otros.

6.4.6. Matlab Simulink

El nombre Matlab proviene de Matrix Laboratory. Este software que fue ini-
cialmente desarrollado para realizar operaciones con matrices muy fácilmente y ha
evolucionado hasta convertirse en una herramienta muy popular en diversos campos
de la ingenierı́a y la Ciencia. Matlab es un lenguaje de alto rendimiento para cálculo
técnico. El mismo integra cálculo, visualización y programación en un entorno de
fácil utilización en donde los problemas y las soluciones son expresadas en una no-
tación matemática familiar. Los usos más tı́picos incluyen: Cálculos matemáticos,
Desarrollo de algoritmos, Modelado, simulación y prototipos y Gráficas cientı́ficas
y de ingenierı́a.
Simulink es un ambiente interactivo para modelar, simular y analizar una amplia
variedad de sistemas dinámicos, pudiendo ser estos lineales, no lineales, discretos,
de tiempo continuo y sistemas mixtos. Permite realizar diagramas de bloques con
operaciones click-and-drag, cambiar parámetros del modelo y visualizar resultados
durante una simulación. Es también un sistema abierto, que permite al usuario es-
coger, adaptar y crear componentes o subistemas. Simulink se apoya en el ambiente
Técnico Computacional de Matlab. Este software y su grupo de Toolboxes ofre-
cen un conjunto amplio de herramientas de ingenierı́a y matemática para definir
algoritmos, analizando datos y visualizando resultados. Simulink y Matlab juntos
proveen un entorno integrado para construir modelos versátiles y simular dinámi-
cos, diseñando y probando ideas nuevas. La figura 6.20 muestra en ambiente de
desarrollo de Simulink [9].
Simulink es un paquete desarrollado por The MathWorks Inc., y es soportado
en ambientes como Unix, Macintosh y Windows. En este software los sistemas son
dibujados en pantalla como diagramas de bloques, tales como funciones de trans-
6. Instrumentación Virtual 193

Figura 6.20 Entorno de trabajo de Simulink y Matlab.

ferencia, sumadores, uniones, etc., ası́ como entradas y salidas virtuales de equipos
tales como generadores, voltı́metros, osciloscopios, entre otros.

6.5. La instrumentación virtual dentro del proceso de


ingenierı́a

Los instrumentos virtuales brindan significativas ventajas en cada etapa del pro-
ceso de ingenierı́a, desde la investigación y el diseño hasta el ensayo de manufactura.

6.5.1. Diseño e investigación

En la investigación y el diseño, los ingenieros e investigadores demandan ca-


pacidades de rápido desarrollo y realización de prototipos. Con los instrumentos
virtuales se puede desarrollar rápidamente un programa, tomar mediciones desde
un instrumento para hacer pruebas de un prototipo y analizar resultados, todo ello
en una fracción del tiempo requerido.
Los exigentes requerimientos de las aplicaciones de investigación y desarrollo
requieren una integración ininterrumpida de software y hardware. Con la instru-
mentación virtual se puede comunicar con instrumentos autónomos utilizando GPIB
o adquirir de manera directa señales a la computadora con una tarjeta de adquisi-
ción de datos y hardware de acondicionamiento de señales. También se puede auto-
matizar un procedimiento de ensayo, eliminando la posibilidad de error humano y
asegurando la consistencia de resultados al evitar introducir variables desconocidas
o inesperadas [1].
194 E. Juárez-Guerra et al.

6.5.2. Simulación de manufactura

La obtención de menores tiempos de simulación y la simplificación del desarrollo


de procedimientos de simulación son objetivos primarios en la simulación de manu-
factura. Los instrumentos virtuales combinados con otros programas como proveen
alto rendimiento para estas necesidades. Estas herramientas cumplen con requeri-
mientos rigurosos de producción con una alta velocidad y un motor multitarea para
ejecutar múltiples secuencias de simulación en paralelo.

6.5.3. Manufactura

Las aplicaciones de manufactura requieren que el software sea confiable, de alto


rendimiento e interoperable. Los instrumentos virtuales ofrecen todas estas ventajas
mediante la integración de caracterı́sticas tales como: manejo de alarmas, tenden-
cias de datos históricos, seguridad, redes, E/S industriales y conectividad empresa-
rial. Gracias a esto, se pueden conectar muchas clases de equipos industriales, tales
como PLCs, redes industriales, E/S distribuidas y tarjetas de adquisición de datos
insertables, mejorando ası́ el proceso de manufactura.

6.5.4. La instrumentación virtual en el proceso de


enseñanza-aprendizaje de la ingenierı́a

La vinculación de la educación con la tecnologı́a ha ampliado las oportunidades


para transformar y mejorar los procesos de enseñanza y aprendizaje. En la enseñan-
za de la ingenierı́a especialmente en el área de laboratorios, el problema de la rapi-
dez del cambio tecnológico adquiere especial relevancia y aumenta la problemática
de suministrar a los estudiantes experiencias significativas, actualizadas con recur-
sos limitados. El alto costo de los equipos sigue siendo una limitación en las in-
stituciones educativas, especialmente en los paı́ses subdesarrollados. Una solución
a este problema es emplear en los laboratorios técnicas de enseñanza y aprendiza-
je basadas en computadoras personales, en los cuales se reemplacen equipos con-
vencionales por computadoras, instrumentos virtuales y sistemas de adquisición de
datos, que permitan a los estudiantes hacer adquisición de datos, procesamiento
y control de señales fı́sicas en tiempo real a costos menores. Adicionalmente, los
experimentos diseñados bajo este esquema pueden estar disponibles no sólo local-
mente sino a distancia a través de Internet, creándose ası́ una red de laboratorios
virtuales y siendo una gran ventaja para los estudiantes.
Desde el punto de vista pedagógico, la utilización de la instrumentación virtual,
al igual que los otros sistemas de aprendizaje asistidos por computadora, se apo-
yan en las teorı́as contemporáneas del aprendizaje y en los múltiples métodos de
6. Instrumentación Virtual 195

enseñanza que de ellos se derivan. Ertugrul afirma que, de acuerdo a las experiencias
de enseñanza-aprendizaje que se tienen actualmente en tecnologı́a utilizando com-
putadoras, éstas se clasifican en cuatro grupos: entrenamiento basado en computa-
doras, aprendizaje asistido por computadoras, instrucción asistida por computadoras
y experimentación asistida por computadora. Schär y Krueger definen el aprendiza-
je asistido por computadora como: “diferentes formas de métodos de enseñanza por
computadora en los cuales el estudiante tiene a la computadora como un profesor
virtual”[4].
Definitivamente, las mejores posibilidades para aprovechar las ventajas que
ofrece la instrumentación virtual se encuentra en la implementación de laboratorios.
Como se ha señalado, ella permite la realización de sistemas de medición basados
en sistemas de cómputo, que hacen posible a los ingenieros, los profesores, investi-
gadores y estudiantes resolver problemas de ingenierı́a o de las ciencias. Ası́ como
una hoja de cálculo le permite a un administrador solucionar problemas de adminis-
tración, la instrumentación virtual es también una solución a los problemas de cos-
tos y obsolescencia de los equipos en los laboratorios. Reemplazar los instrumentos
tradicionales por instrumentos virtuales que se ejecutan en computadoras, permite
que las funciones de los mismos vayan a la par del desarrollo de las nuevas tec-
nologı́as de las computadoras cuyos costos siguen una tendencia decreciente.
Los laboratorios son un elemento clave en la formación integral y actualizada de
un ingeniero. No se puede concebir un ingeniero que no haya realizado prácticas
de laboratorio en su trayectoria de formación inicial. Los avances tecnológicos de
los últimos años han abierto posibilidades para cambiar la estructura rı́gida de los
laboratorios tradicionales, por una estructura flexible que se apoya en las computa-
doras, circuitos de acondicionamiento, hardware de adquisición de datos y software.
Se puede afirmar que cada año, aumenta el número de universidades que se acogen
a esta propuesta de laboratorios virtuales. Ertugrul reporta más de 50 aplicaciones
de laboratorios basados en la instrumentación virtual en ingenierı́a eléctrica, elec-
trónica, mecánica, biomédica, control e instrumentación, quı́mica, medio ambiente,
instrumentación y control a través de internet, lo cuál garantiza que las universidades
formen profesionales con competencias para los nuevos desafı́os [4].

6.5.5. Las nuevas tecnologı́as de la información y la


comunicación como herramientas para mejorar el proceso
de enseñanza-aprendizaje de la ingenierı́a

La importancia del aprendizaje significativo promueve la construcción del cono-


cimiento a partir de la experiencia previa y personalización del aprendizaje. En este
sentido, las nuevas tecnologı́as de la información y la comunicación (NTIC) como
las computadoras, perı́fericos, aparatos, programas, redes, instrumentación virtual,
entre otros juegan un papel fundamental en la consecución del mismo. Los jóvenes
de hoy pasan muchas horas a la semana ante aparatos audiovisuales e interactivos
y son bombardeados por grandes cantidades de información. Además sus hábitos
196 E. Juárez-Guerra et al.

perceptivos y sus sistemas de procesamiento de información están especialmente


adaptados a la manera en que los medios tecnológicos presentan la información. Lo
anterior debe ser aprovechado por los docentes, puesto que estos canales resultan
motivadores por el conocimiento que tienen de ellos los alumnos y son una herra-
mienta poco desarrollada para el proceso enseñanza-aprendizaje.
La influencia de las NTIC y la consecución del aprendizaje significativo han
repercutido en el rol del profesor al pasar del conductismo al constructivismo. En
el primero, el conocimiento se deposita en el alumno y sólo ’vale’ lo que dice el
profesor, de ahı́ que el papel del estudiante sea de receptor pasivo con un cambio
de conducta estable programada por el autoritarismo del profesor. En este enfoque
educativo se evalúan los productos por lo que la evaluación es de corte cuantitativo,
no importa cómo el educando llegue al conocimiento, sino que lo repita al pie de la
letra y se obtenga un producto, aunque éste no evalúe el conocimiento aprehendido,
pero sı́ el repetido por el docente.
Por su parte, el constructivismo es aquel que relaciona el aprendizaje de manera
significativa con la vida de los estudiantes, por lo que el papel del docente es muy
importante al principio del aprendizaje al actuar como facilitador del conocimiento.
Conforme se desarrolla el proceso de enseñanza aprendizaje, el maestro deja cada
vez más libre al alumno ya que éste se involucra activamente en su proceso de
aprendizaje al trabajar en un ambiente más colaborativo y constructivo donde la
tecnologı́a provee la información, el profesor la facilita y el estudiante construye el
conocimiento, siendo el mayor responsable de su aprendizaje. En el constructivismo
se busca que el estudiante descubra el conocimiento dado su carácter de receptor
activo con la ayuda, cada vez menor, del profesor. Este enfoque, a diferencia del
anterior, evalúa los procesos que siguen los educandos, por lo que se considera de
carácter cualitativo.
El rol de facilitador del docente adquiere gran importancia dado que es él quien
define una estrategia de aprendizaje determinada para un curso que está en un pro-
ceso continuo de intercambio, planificación, ejecución y retroalimentación durante
el mismo.
Ausubel, D. sostiene que el aprendizaje significativo busca la autonomı́a del es-
tudiante partiendo del seguimiento riguroso por parte del profesor donde la interac-
ción y la libertad son escasas, pero necesarias al inicio del proceso. En este sentido,
el papel del docente se vuelve fundamental. El aporte de ejercicios prácticos y su
relación con los conocimientos previos es de suma importancia para que el estudi-
ante adquiera confianza en su aprendizaje [10].
Posteriormente, el alumno desarrolla un aprendizaje con cierto grado de libertad
y el docente tiene cada vez menos participación como se dijo anteriormente, pero
siguiendo atentamente el progreso del estudiante, de ahı́ que una estrecha comuni-
cación maestro-educando estimule la participar activa.
Finalmente, una vez completadas las dos primeras fases del acompañamien-
to, el alumno desarrolla un alto nivel de libertad e interactividad anclado en sus
conocimientos previos y en el proceso guiador del docente en la construcción del
andamiaje de conocimiento con la finalidad de que elabore sus propios modelos de
6. Instrumentación Virtual 197

aprendizaje y desarrolle una serie de habilidades y actitudes que lo lleven al mejo-


ramiento continuo del individuo.
Las NTIC crean nuevos entornos, tanto humanos como artificiales, de comuni-
cación no conocidos hasta la actualidad, y establecen nuevas formas de interacción
de los usuarios con las máquinas donde uno y otra desempeñan roles diferentes, a
los clásicos de receptor y transmisor de información, y el conocimiento contextua-
lizado se construye en la interacción que sujeto y máquina establezcan. Asimismo,
han permitido la asociación entre las capacidades de procesamiento informativo de
una computadora y las facilidades para transmitir datos que tiene Internet, lo cual
ha traı́do como resultado un nuevo paradigma educacional llamado educación a dis-
tancia.
En una época globalizada, el conocimiento, la educación, el aprendizaje y la
obtención de información se acercan a través del desarrollo tecnológico, lo cual
hace más confiable y accesible la educación a distancia. La posibilidad de una mayor
interacción maestro-alumno crea las condiciones necesarias para que se lleve a cabo
el proceso enseñanza-aprendizaje de forma similar al proceso presencial.
Justifiniani afirma que este tipo de educación ha sido de gran ayuda en paı́ses
de gran extensión territorial cuyos sistemas de enseñanza necesitan alcanzar a mi-
llares de personas separadas geográficamente de los grandes centros emisores de
la información. Distintas universidades, en los Estados Unidos, vienen ofreciendo
programas a distancia de posgrado y pregrado [11].
Por otra parte, la Ingenierı́a es una profesión esencialmente creativa. En ella con-
fluyen los saberes como productos de procesos de investigación e innovación en
ciencia y tecnologı́a, evolucionando en la búsqueda de soluciones a problemas com-
plejos. Para ello el ingeniero formula y ejecuta proyectos integrando equipos de
trabajo. En este proceso desarrolla, innova, gerencia tecnologı́a, comunica y funda-
menta ideas, explora alternativas y procedimientos, operando con distintas variables
para satisfacer una determinada necesidad de diseño. Esto supone tomar decisiones
para arribar a la mejor solución de un problema.
Marchisio resalta la importancia de favorecer el desarrollo de estrategias de
enseñanza orientadas a que el estudiante de ingenierı́a aprenda a resolver proble-
mas complejos a fin de promover la construcción de aprendizajes significativos [12].
Esto requiere utilizar como método de enseñanza la búsqueda sistemática y perma-
nente de conocimiento, haciendo énfasis en el proceso de su generación, articulan-
do conceptos, procedimientos y actitudes con el objetivo de resolver, a partir de la
instrumentación virtual, por ejemplo, problemas similares a los que se enfrenta un
ingeniero en la práctica de su profesión. Estos procesos de aprendizaje adquieren
mayor riqueza cuando se producen, según Vygotsky, colaborativamente, es decir,
en un contexto de interacciones interpersonales directas o mediadas a través de los
instrumentos o recursos con los que accede [13].
Una ventaja directa de las NTIC en el campo de la ingenierı́a es la posibilidad que
ofrecen para la simulación de fenómenos como la instrumentación virtual, sobre los
cuales los alumnos puedan trabajar sin riesgo de ningún tipo, observar los elementos
significativos de una actividad, proceso o fenómeno, o descomponer un producto en
sus partes o en el proceso seguido para su elaboración.
198 E. Juárez-Guerra et al.

Otro aspecto significativo que ofrecen las NTIC en la ingenierı́a es la interac-


tividad ya que permite una interacción sujeto-máquina y la adaptación de ésta a las
caracterı́sticas psicológicas, evolutivas y educativas del usuario, donde el usuario,
no sólo puede elaborar mensajes, sino también decide la secuencia de información
a seguir, establece el ritmo, cantidad y profundización de la información que desea
y elige el tipo de código con el que quiere establecer relaciones con la información.
Lo anterior dentro de unos márgenes, que pueden ir desde la libertad absoluta, has-
ta el movimiento en unos lı́mites prefijados por el profesor o por el diseñador del
programa.
Por otro lado, una de las demandas de nuestra cultura occidental es recibir la
información en las mejores condiciones técnicas posibles y en el menor tiempo per-
mitido, y si este se acerca al tiempo real, mejor. Estas demandas pueden alcanzarse
con las NTIC, ya que permiten la instantaneidad de la información, rompiendo las
barreras temporales y espaciales de naciones y culturas. Por esta instantaneidad, el
usuario puede acceder a bases y bancos de datos situados dentro y fuera de su paı́s.
Aspecto que incluso lleva a situaciones paradójicas, ya que muchas veces tenemos
antes información de los conocimientos que se están generando en EE.UU., que en
el nuestro.
Las NTIC no sólo influyen en la rapidez y presición de los resultados en la
búsqueda de información, sino fundamentalmente en los procesos que el estudiante
sigue para llegar a ellos, y al mismo tiempo de potenciar su aprendizaje al involu-
crar varios estilos, ya que el 80 por ciento de las personas aprende de lo que ve, oye
y hace respectivamente. Dichos procesos están determinados por la calidad de los
productos obtenidos y diferenciados a partir de procesos cognitivos y el desarrollo
de habilidades especı́ficas en el alumnado como la adaptación de la información
obtenida a sus necesidades, ya que el educando se da cuenta que la información se
puede construir desde diferentes trayectorias y alternativas, y con diferentes tipos de
códigos. Este hecho propicia un cambio de rol del estudiante al pasar de individuos
pasivos que solamente reciben información y no la procesan, a individuos activos
motivados, conscientes y comprometidos con su aprendizaje.

6.6. Conclusiones

La Instrumentación virtual tiene una amplia gama de aplicaciones, una de sus


principales aplicaciones es en la industria para sistemas de medición, monitoreo
de procesos y aplicaciones de control. También es utilizada en laboratorios para
clases en universidades en procesos de control industrial, en laboratorios virtuales
o remotos, en procesamiento digital de señales, procesamiento en tiempo real, en
aplicaciones biomédicas, en manipulación de imágenes y audio, etc.
La próxima generación de herramientas de instrumentación virtual está incluyen-
do tecnologı́a de redes para lograr una rápida y fácil integración de Bluetooth, Ether-
net inalámbrica y otras normas. Además de utilizar esas tecnologı́as, el software de
instrumentación virtual requiere una mejor manera de describir y diseñar las rela-
6. Instrumentación Virtual 199

ciones de temporización y sincronización entre sistemas distribuidos de una manera


intuitiva para lograr un más rápido desarrollo y control de estos sistemas que son, a
menudo, embebidos.
La instrumentación virtual está motorizada por la siempre creciente tecnologı́a
computacional que ofrece crear y definir un sistema personalizado basado en un
marco de trabajo abierto. Este concepto asegura que el sistema desarrollado será re-
utilizable en el futuro, además de que también provee la flexibilidad de adaptarlo y
extenderlo a medida que cambian las necesidades. Además que ahora para realizar
desarrollos de instrumentación se necesita un conocimiento interdisciplinario para
establecer de manera formal todos los pasos que se utilizan en el desarrollo de soft-
ware hardware. Finalmente se puede decir que la Instrumentación virtual, no es ni
mejor, ni peor que la Instrumentación electrónica tradicional o inteligente sólo se
apega al desarrollo de la ciencia y la tecnologı́a.

Agradecimientos

E. Juárez-Guerra agradece el apoyo a la Facultad de Ciencias Básicas Inge-


nierı́a y Tecnologı́a de la Universidad Autónoma de Tlaxcala. E. A. Portilla-Flores
agradece el apoyo a los programas de COFAA y EDI del Instituto Politécnico Na-
cional, ası́ como a la SIP-IPN por la asignación de recursos al Proyecto con número
de Registro SIP: 20090362, finalmente al SNI de CONACYT.

Referencias

1. National Instruments, La Instrumentación Virtual, 2004.


2. G. Trujillo, S. Gómez, Instrumento virtual para adquisición de datos, Memorias SOMI XII
Congreso de Instrumentación, 1997.
3. R. Fuentes, Instrumentación inteligente vs. Instrumentación virtual, Memorias SOMI XII
Congreso de Instrumentación, 1997.
4. R. Chacon, La Instrumentación virtual en la enseñanza de la Ingenierı́a Electrónica, Acción
Pedagógica, Vol. 11, No. 1, 2002.
5. O. Salazar, Tesis de Maestrı́a: Control de Instrumentación Óptica a través de USB-GPIB y
VEE, Universidad de las Americas, Puebla, México, 2005.
6. SCM International, Inc., CyberTools, Manual de usuario v3.0, 2008.
7. H. Mendiburu, Instrumentación Virtual Industrial, INDECOPI, pags 180, Perú, 2006.
8. Aertia Software, Axis, Boletı́n informativo, Aertia Software Company, No. 13, 2006.
9. The Math Works Inc., Simulink-Dynamic Simulation for Matlab, Using Simulink, 2008.
10. D.Ausubel, J. Novak, D. Hanesian, Psicologı́a Educacional, Edit. Trillas, México, 1989.
11. Justifiniani, A. Miranda, La educación a distancia, una estrategia para los paı́ses en vı́as de
desarrollo: el modelo cubano, Educación a distancia, Vol. 3, No. 6, INED, pp 14-18, Brasilia,
Brasil, 1994.
12. S. Marchisio, La actuación docente de los profesores de ciencias, ¿un ambiente de aprendizaje
en educación a distancia?, Conferencia, Feria Internacional del Libro, Guadalajara, México,
1997.
13. Vygotsky, L, Pensamiento y Lenguaje, Ediciones Fausto, Buenos Aires, Argentina, 1977.
Capı́tulo 7
Visión por Computadora

G. Saldaña-González

Resumen Este capı́tulo esta dirigido a lectores con poca experiencia en el área de
visión por computadora, para los más experimentados, parte del contenido expuesto
resultará familiar, sin embargo se presentará material relacionado a la utilización
de dispositivos programables para la implementación de los sistemas de visión, que
resulta ser un tópico novedoso que permite apreciar el potencial de esta tecnologı́a
para la implementación de aplicaciones en tiempo real. En este capı́tulo se introduce
al lector a los principios básicos de la visión por computadora, se presentan además
algunos ejemplos de la importancia de este tipo de sistemas en relación con otras
áreas del conocimiento, tales como la robótica y la mecatrónica. Se aborda la forma
en la cual se representan las imágenes, pasando por algunas caracterı́sticas de los
sensores más utilizados para la obtención y formación de la imagen. Finalmente
se presentan algunos algoritmos para extraer información a partir de una imagen
haciendo énfasis en las caracterı́sticas que hacen que dichos algoritmos sean ideales
para ser implementados en dispositivos digitales programables en campo FPGAs
(Field Programmable Gate Arrays).

7.1. Introducción

El sentido de la vista, sin duda, es el que proporciona la mayor parte de la infor-


mación que recibimos acerca de lo que nos rodea y nos permite interactuar con el
medio fı́sico sin un contacto directo. A través de los ojos se adquieren megabytes
de información en cada parpadeo excediendo probablemente los 10 megabytes por
segundo.

G. Saldaña-González
Universidad Tecnológica de Puebla
Antiguo Camino a la Resurrección 1002-A, Zona Industrial, Puebla, Puebla, 72300 MEXICO
e-mail: griselda.saldana@utpuebla.edu.mx

201
202 G. Saldaña-González

Dada su naturaleza inventiva, el ser humano trata de conseguir máquinas que le


ayuden a realizar su trabajo, por lo que no es de extrañar que para tareas complejas
incluya elementos que le permitan imitar las ventajas que proporciona el sentido de
la vista humana [3].
Las primeras propuestas para la aplicación de los sistemas de visión para ins-
pección industrial surgieron en los años 30, pero no fue sino hasta 1970 que este
tipo de sistemas recibieron una verdadera atención. A finales de los 80 y principios
de los 90 se presentaron los primeros dispositivos de hardware que permitieron la
implementación de sistemas de visión a un costo competitivo. Con ello este tipo de
sistemas aparecieron en la mayorı́a de los sectores manufactureros incluyendo áreas
tales como la electrónica (Lectura de códigos en PCBs, reconocimiento automático
de componentes, inspección de la pantalla de cristal liquido en teléfonos celulares,
inspección de conectores), la industria automotriz (medición de las dimensiones
de cojines de frenos, calibración de ensamblado robótico de sensores de frenos, de-
tección de abolladuras en la carroza), la industria alimentaria (inspección y clasi-
ficación de frutas y vegetales, inspección de contenedores de comida), la industria
financiera (inspección de tarjetas financieras, verificación de códigos alfanuméricos
en cheques) y la industria médica (inspección de catéteres en el corazón, lectura de
códigos en marcapasos, control de calidad de tabletas, detección de falta de ele-
mentos en los paquetes farmacéuticos). Las áreas de aplicación principales para los
sistemas de visión industrial ocurren en la inspección automotriz, la medición y la
visión robótica.
Actualmente la mitad del mercado de los sistemas de visión consiste en la ins-
pección automática y los sistemas de medición, lo cual ha sido posible gracias al
bajo costo y a la facilidad de adaptación de estos sistemas a las lı́neas de producción
existentes.
En todas las áreas de aplicación de los sistemas de visión cada vez se presen-
tan procesos productivos más rápidos y exigentes. Por este motivo, los sistemas de
control por visión están evolucionando hacia un control en Tiempo Real dedicado e
independiente del resto de los componentes industriales. Como alternativa al proce-
samiento tradicional basado en el uso de sistemas de software, los sistemas de visión
están evolucionando hacia la implementación de hardware de proceso dedicado. En
esta evolución los dispositivos programables tales como los FPGAs están jugando
un papel importante, dado que permiten acelerar el proceso con la ventaja adicional
de ser muy flexibles, ya que se pueden reprogramar por lo que un solo sistema de
visión se puede utilizar para múltiples aplicaciones.
El presente capı́tulo esta organizado de la siguiente manera. En la sección 7.2
se discute lo que es un sistema de visión por computadora enfatizando la diferen-
cia con las máquinas de visión, y se describen el tipo de tareas puede realizar. La
sección 7.3 presenta la relación entre los sistemas de visión y otras áreas del conoci-
miento que se benefician con el uso de las técnicas para procesamiento de imágenes.
El mecanismo para la representación de una imagen ası́ como los dispositivos más
comúnmente utilizados para su adquisición y digitalización se presentan en la sec-
ción 7.4. En la sección 7.5 se muestra la forma de representación matemática de las
imágenes ası́ como la representación que puede hacerse de una imagen de acuerdo
7. Visión por Computadora 203

a los niveles de brillantez que la componen, considerándose imágenes, binarias, en


escala de grises y en color. La clasificación de las operaciones que se pueden rea-
lizar en una imagen en función del modelo requerido para el análisis está descrita
en la sección 7.6. A partir de la sección 7.7 el capitulo esta enteramente dedicado al
procesamiento a bajo nivel de imágenes, toda vez que para realizar procesamiento
en niveles subsecuentes los resultados de este tipo de operaciones son básicos. En
esta sección se describe lo que es el pre-procesamiento de la imagen y como se di-
viden los operadores a este nivel. Se presenta además la notación que se utilizará a
lo largo del capı́tulo para definir los operadores de bajo nivel. En la sección 7.8 se
extiende la definición de los operadores a la Morfologı́a para imágenes binarias y
este concepto se extiende a la morfologı́a en escala de grises en la sección 7.9. Final-
mente en la sección 7.10 se presentan los sistemas de visión basados en dispositivos
programables, haciendo énfasis en las necesidades de procesamiento en tiempo real
de las aplicaciones actuales, se presenta un ejemplo de implementación de una ar-
quitectura para procesamiento a bajo nivel de imágenes y se destacan las ventajas
que presenta en desempeño y flexibilidad.

7.2. Visión por computadora

La visión por computadora es una rama de las ciencias computacionales que in-
volucra la extracción automática, manipulación, análisis y clasificación de imágenes
o secuencias de imágenes, generalmente dentro de un sistema de cómputo especı́fico
o de propósito general. El objetivo de estos sistemas consiste en obtener información
útil acerca del mundo utilizando imágenes para realizar alguna tarea.
A menudo el término visión por computadora se utiliza como un sinónimo
de máquina de visión, sin embargo existen elementos que los diferencian. Las
máquinas de visión generalmente se usan en ambientes industriales y pretenden dar
solución a problemas especı́ficos. Por otro lado un sistema de visión por computa-
dora, generalmente trata de duplicar el efecto de la visión humana mediante la per-
cepción electrónica y la comprensión de una imagen. La investigación en esta área
a menudo tiene que ver con la percepción psicológica y el análisis de los humanos
y otros sistemas de visión biológicos para generar un comportamiento cercano al
sistema de visión humano.
Una máquina de visión analiza una imagen y proporciona una descripción de su
contenido [7].
Esta descripción debe capturar los aspectos de los objetos en la imagen que son
útiles para realizar alguna tarea. Entonces se considera a una máquina de visión
como parte de una entidad más grande que interactúa con su medioambiente. El
sistema de visión se puede considerar como un elemento de retroalimentación que
se relaciona con el sensado mientras otros elementos están dedicados a la toma de
decisiones y a la implementación de esas decisiones. En la Figura 7.1 se presenta un
diagrama que muestra la relación existente entre una máquina de visión y un sistema
de visión.
204 G. Saldaña-González

Figura 7.1 Descripción de un sistema de una máquina de visión en relación a un sistema de visión.

Un sistema de visión normalmente requiere de una fuente para iluminar la escena,


un sensor del sistema, normalmente una cámara CCD (Charge Coupled Device), y
una interfaz entre el sensor y el sistema de cómputo. Entre otras cosas la interfase
convierte la información analógica en datos digitales que pueden ser entendidos
por la computadora. Esto tiene lugar en una pieza especial de hardware, el frame
grabber, el cual también almacena la imagen.
Usualmente un paquete de frame grabber contiene una librerı́a de las rutinas
más usadas las cuales se pueden ligar al programa de usuario. Los resultados de
una imagen procesada son transferidos al mundo exterior por una o más interfaces
de entrada/salida, la pantalla y los dispositivos normales de salida tales como la
impresora, los discos, etc. Todos estos componentes de un sistema de visión pueden
observarse en la Figura 7.2.

Figura 7.2 Componentes de un Sistema de Visión por Computadora.


7. Visión por Computadora 205

La entrada al sistema de visión es una imagen, o varias imágenes mientras la


salida es una descripción que debe satisfacer alguno de dos criterios:

Debe soportar alguna relación con lo que se muestra en la imagen.


Debe contener alguna información necesaria para realizar alguna tarea.
El primer criterio asegura que la descripción depende de algún modo de la entra-
da visual, y el segundo asegura que la información proporcionada es útil.
Un objeto no tiene una descripción única. Se pueden concebir descripciones a
muchos niveles de detalle y desde muchos puntos de vista. Es imposible describir
un objeto completamente, sin embargo esto no es necesario si se considera la tarea
para la cual se requiere la descripción. Esto es, no se quiere cualquier descripción
de lo que está en la imagen, sino aquello que permite tomar una acción apropiada.
La organización de un sistema de visión es altamente dependiente de la apli-
cación. Algunos sistemas son aplicaciones independientes las cuales solucionan una
medición especı́fica o un problema de detección, mientras que otros constituyen un
subsistema de un diseño más grande el cual, por ejemplo, también contiene sub-
sistemas para control de actuadores mecánicos, planificación, bases de datos de
información, interfaces hombre-máquina, etc. En la Figura 7.3 se muestra la or-
ganización general de un sistema de visión.

Figura 7.3 Organización de un sistema de Visión.

La implementación especı́fica de un sistema de visión también depende de si


su funcionalidad es pre-especificada o si alguna parte de ella se puede aprender o
modificar durante la operación. Existen, sin embargo, funciones tı́picas las cuales se
encuentran en muchos de los sistemas de visión:
Adquisición de Imágenes. Una imagen digital se produce por uno o varios sen-
sores de imagen, los cuales, además de varios tipos de cámaras sensibles a la
luz, incluyen sensores de rango, dispositivos tomográficos, radares, cámaras ul-
trasónicas, etc. Dependiendo del tipo de sensor, la imagen resultante es una ima-
gen ordinaria 2D, una imagen en 3D o una secuencia de imágenes. Los valores
de los pı́xeles tı́picamente corresponden con la intensidad de luz en una o varias
bandas espectrales (imágenes en grises o imágenes a color), pero también pueden
estar relacionadas con varias mediciones fı́sicas, tales como la profundidad, ab-
sorción o reflectancia de ondas electromagnéticas o de sonido, o resonancia nu-
clear magnética.
Pre-Procesamiento. Antes de que se pueda aplicar algún método de visión por
computadora a una imagen para extraer aluna información especı́fica, general-
206 G. Saldaña-González

mente es necesario procesar los datos para asegurar que satisfacen ciertas su-
posiciones implicadas en el método. Ejemplos del tipo de procesamiento que
puede realizarse son:
• Re-muestreo para asegurar que el sistema de coordenadas de la imagen es
correcto.
• Reducción de ruido para asegurar que el ruido del sensor no introduce infor-
mación falsa.
• Mejoramiento del contraste para asegurar que la información relevante se
puede detectar.
• Representación espacial de escala para mejorar la estructura de las imágenes
en escalas locales apropiadas.
Extracción de caracterı́sticas. Las caracterı́sticas de la imagen a varios niveles
de complejidad son extraı́das a partir de la imagen. Algunos ejemplos tı́picos
son:
• Lı́neas, bordes, esquinas.
• Localización de puntos de interés tales como esquinas o regiones.
• Caracterı́sticas más complejas tienen que ver con la textura, la forma o el
movimiento.
• Detección/Segmentación.
Detección/Segmentación. En algún punto en el proceso se debe tomar una de-
cisión sobre cuales puntos o regiones de la imagen son relevantes para realizar
más procesamiento. Algunos ejemplos son:
• Selección de un conjunto especı́fico de puntos de interés.
• Segmentación de una o múltiples regiones de la imagen que contienen un
objeto especı́fico de interés.
Procesamiento de alto nivel. En este paso la entrada es tı́picamente un pequeño
conjunto de datos, por ejemplo un conjunto de puntos o una región de la imagen
que se asume contiene un objeto especı́fico. El procesamiento restante trata, por
ejemplo con:
• Verificación que los datos satisfacen un modelo propuesto y suposiciones es-
pecı́ficas de la aplicación.
• Estimación de los parámetros especı́ficos de la aplicación, tales como la posi-
ción del objeto o su tamaño.
• Clasificación de un objeto detectado en diferentes categorı́as.

7.3. Relación con otras áreas

La visión por computadora incluye muchos campos de desarrollo, algunos de


ellos pueden observarse en la Figura 7.4. Pero en general es un área que utiliza
7. Visión por Computadora 207

técnicas para estimar los detalles en las imágenes, relacionar las mediciones de de-
talles a la geometrı́a de objetos en espacio e interpretar la información geométrica.

Figura 7.4 Principales áreas del conocimiento relacionadas con la Visión por Computadora.

Una parte importante de la visión por computadora ocupa el Procesamiento de


Imágenes. Es el campo donde sus técnicas transforman una imagen en otra para ob-
tener la información necesaria. Sus algoritmos son útiles en las primeras etapas del
área de visión por computadora dado que normalmente se usan para mejorar cierta
información en particular y suprimir ruido. Las imágenes usadas se obtienen de una
cámara y posteriormente se les aplica algún método para obtener la información
necesaria.

Procesamiento de Imágenes. El procesamiento de imágenes tiene mucho que


ver con la generación de nuevas imágenes a partir de imágenes existentes. La
mayorı́a de las técnicas usadas provienen de la teorı́a de sistemas lineales. La
nueva imagen se presenta sin ruido, sin elementos borrosos, o con los contornos
acentuados. Sin embargo el resultado que se obtiene es una imagen que usual-
mente todavı́a tiene que ser interpretada por una persona. Algunas técnicas de
procesamiento de imágenes son útiles para entender las limitaciones de un sis-
tema de formación de una imagen y para diseñar módulos de pre-procesamiento
para máquinas de visión.
Graficación por Computadora. Permite generar imágenes a partir de primitivas
geométricas tales como lı́neas, cı́rculos y superficies. Las técnicas empleadas en
208 G. Saldaña-González

esta área juegan un papel importante en la visualización y la realidad virtual.


La visión por computadora resuelve el problema inverso, permite estimar las
primitivas geométricas y otras caracterı́sticas a partir de la imagen. La graficación
por computadora es la sı́ntesis de imágenes y la visión por computadora es el
análisis de las imágenes. En los últimos años estas dos áreas se han desarrollado
de manera paralela. La visión por computadora usa curvas, representación de
superficies y algunas otras técnicas de la graficación por computadora, por su
parte la graficación por computadora esta usando muchas técnicas de la visión
por computadora para generar modelos que permitan crear imágenes realistas.
Reconocimiento de Patrones. Permite clasificar datos simbólicos y numéricos.
Permite clasificar patrones usualmente dados como un conjunto de números que
representan mediciones de un objeto, tales como la altura o la anchura. Aunque
la entrada a un clasificador no es una imagen, las técnicas de clasificación de
patrones son útiles algunas veces par analizar los resultados producidos por un
sistema de visión. Reconocer un objeto significa asignarle un número correspon-
diente a una clase conocida. Nótese, sin embargo, que el reconocimiento es sólo
una de muchas tareas que tiene que enfrentar el sistema de visión. Los investi-
gadores relacionados con la clasificación han creado métodos simples para obte-
ner mediciones de las imágenes. Estas técnicas, sin embargo, usualmente tratan a
las imágenes como un patrón de brillantez de dos dimensiones y no pueden lidiar
con objetos presentados en un patrón arbitrario.
Mecatrónica. Esta área se conforma de una mezcla de mecánica, electrónica y
control por computadora en un diseño integrado. Este tipo de sistemas adquiere
un valor agregado al utilizar sensores y la inteligencia de máquinas integradas.
Los sistemas de visión tienen gran aplicación en áreas que incluyen la inspec-
ción, la detección de fallas, la dirección de vehı́culos y el control de robots. Ac-
tualmente en la robótica, la visión por computadora se puede considerar como
la tecnologı́a clave para realizar sistemas con un nivel de autonomı́a mejorado.
En muchas aplicaciones de la robótica móvil se requieren sistemas de visión
para explorar el área alrededor del robot. Mediante tareas como la detección de
obstáculos, el reconocimiento de formas y la estimación de distancias, se puede
mejorar el control y la navegación. Uno de los sistemas de visión más populares
para robots móviles es aquel que incluye arreglos láser, debido a su aplicabilidad
y flexibilidad, ya que puede adoptar una gran variedad de formas. Estos sistemas
están compuestos, generalmente, por diodos láser, cámaras de video CCD y tarje-
tas electrónicas que se encargan de adquirir las señales de video provenientes de
las cámaras. Mientras que el estado del arte en los algoritmos de visión por com-
putadora está muy avanzado, muchos métodos de visión por computadora son
intrı́nsecamente caros computacionalmente. Aún una implementación eficiente
de tales métodos no puede resolver este problema. Por lo tanto, la demanda de
recursos de los métodos de visión por computadora en tiempo real es creciente.
7. Visión por Computadora 209

7.4. Formación de la imagen

Una imagen se forma cuando un sensor registra la radiación que ha interactua-


do con algún objeto fı́sico [11]. Para trabajar con la imagen es necesario traducir
la información proporcionada por el sensor a una forma apropiada para el proce-
samiento por computadora. Primero se debe convertir a un arreglo de números que
representan la intensidad de la luz reflejada en cada punto de la escena.
La imagen digital en 2D es un arreglo de muestras de intensidad la cual se procesa
por un programa de computadora que permite tomar decisiones acerca de la imagen.
A menudo una imagen 2D representa una proyección de una escena 3D, esta es la
representación más comúnmente utilizada para las máquinas de visión, de acuerdo
a lo que se muestra en la Figura 7.5.

Figura 7.5 Proyección de una escena en 3D a una imagen en 2D.

Existen diferentes dispositivos para producir imágenes. Se diferencian en el


fenómeno sensando, el rango de radiación que pueden detectar y en su diseño elec-
tromecánico. Los más comunes se discuten en esta sección.

7.4.1. Cámaras CCD

Entre los dispositivos más flexibles y comúnmente usados se encuentran las


Cámaras CCD que son sensores de imagen que utiliza elementos semiconductores
fotosensibles en forma de arreglos matriciales. Los receptores activos de este arre-
glo son distribuidos en pı́xeles individuales. La Figura 7.6 muestra una cámara
monocromática simple.
En un sensor CCD se transforma la energı́a de la luz incidente en energı́a eléctri-
ca. La carga eléctrica almacenada en la celda es posteriormente transportada uti-
lizando un registro de desplazamiento (shift register) para conformar una señal de
video. Cabe señalar que en las cámaras CCD se discretiza la imagen en pı́xeles, sin
embargo el valor de la carga eléctrica almacenado en cada celda no se digitaliza
210 G. Saldaña-González

Figura 7.6 Cámara CCD donde las celdas convierten la energı́a luminosa en cargas eléctricas que
representan entradas para la PC.

en el arreglo CCD sino en una conversión posterior realizada por un convertidor


analógico-digital.
Las cámaras CCD son consideradas como dispositivos que generan una muy baja
deformación geométrica de la imagen, presentan muy buena sensibilidad a la luz y
una muy buena resolución llegando tı́picamente a los 400,000 pı́xeles. El tiempo de
captura de la imagen está generalmente en el rango de 1/60s y 1/10000s [1].

7.4.2. Frame grabber

Un CCD en ocasiones se conecta en una entrada de la computadora, llamada


frame grabber el cual contiene memoria para la imagen y en algunas ocasiones
elementos de control para la cámara. Las imágenes que han pasado por el frame
grabber ya pueden ser procesadas en cualquier momento por la PC. La Figura 7.7
muestra un sistema completo de computadora con entrada de cámara y salida gráfi-
ca. Este es un sistema tı́pico para una tarea industrial de visión.
La señal de voltaje eléctrico producida por el sistema de sensor se transfiere
al frame grabber. Esta tarjeta no es como una tarjeta gráfica de las computadoras
normales, a diferencia de éstas última necesita cubrir algunos otros requerimientos:
Procesar la información desde varias fuentes de imagen.
Almacenar información de la imagen rápida y eficientemente.
Ofrecer una interfase gráfica (GUI).
Ser flexible para ser utilizada en diversas aplicaciones.
Dependiendo del tipo y del costo, un frame grabber puede incluir DSPs con
arquitecturas RISC y sistemas de multiprocesadores para procesamiento paralelo,
grandes capacidades de memoria RAM, librerı́as de software sofisticadas, interfaces
7. Visión por Computadora 211

Figura 7.7 Rol del Frame Grabber en el sistema de procesamiento de una imagen.

de usuario interactivas y herramientas de programación. Hoy en dı́a la tarjeta frame


grabber aun es un componente importante en un sistema de visión por computadora,
aunque con el incremento en la disponibilidad de sensores CMOS, muchas rutinas
de visión se están implementando directamente en la cámara.
Para cumplir con los requerimientos de procesamiento, la mayorı́a de los frame
grabbers tienen una estructura modular, de tal forma que los componentes se puedan
configurar de acuerdo a las necesidades del usuario. Los frame grabbers modernos
generalmente consisten de los siguientes componentes:

Entrada de Video.
Buffer de la imagen (Frame buffer).
Procesador digital de señales DSP.
Unidad de salida de video.
La estructura conformada por estos elementos se muestra en la Figura 7.8. Sin
embargo en el mercado existen disponibles una gran variedad de tipos de frame
grabbers por lo que es difı́cil describir una estructura tı́pica.

Figura 7.8 Componentes de hardware de un Frame Grabber.


212 G. Saldaña-González

7.5. Representación de imágenes

Una imagen digital f [m,n] descrita en un espacio 2D discreto se deriva de una


imagen analógica f (x,y) en un espacio 2D continuo a través de un proceso de
muestreo que frecuentemente se denomina digitalización. El efecto de la digita-
lización se observa en la Figura 7.9.

Figura 7.9 Digitalización de una imagen donde un pı́xel representa el valor de brillo en ese punto.

La imagen continua en 2D f (x,y) se divide en N filas y M columnas. La intersec-


ción de una fila con una columna se denomina pı́xel. El valor entero asignado a las
coordenadas [m, n] con {m=0, 1, 2, ..., M-1} y {n=0, 1, 2, ..., N-1} es f [m,n]. De he-
cho, en la mayorı́a de los casos f (x,y), que se puede considerar como la señal fı́sica
que incide sobre la cara de un sensor 2D, es en realidad una función de muchas
variables incluyendo la profundidad (z), el color(λ ), y el tiempo (t). A menos que
otra cosa se diga, en este capitulo se consideraran imágenes 2D, monocromáticas,
estáticas.
La imagen de la Figura 7.9 se ha dividido en N=16 filas y M=16 columnas. El
valor asignado a cada pı́xel es el promedio del valor entero de la brillantez de los
pı́xeles más cercanos que lo rodean. El proceso de representación de la amplitud de
la señal 2D en una coordenada dada como un valor entero con L diferentes nive-
les de gris normalmente se conoce como amplitud de cuantización o simplemente
cuantización.
Existen valores estándares para varios parámetros encontrados en una imagen
digital. Estos valores se pueden obtener a partir de estándares de video, por reque-
7. Visión por Computadora 213

rimientos algorı́tmicos, o por el deseo de mantener un circuito digital simple. La


Tabla 7.1 muestra algunos valores comunes que se pueden encontrar.

Parámetro Sı́mbolo Valor Tı́pico


Filas N 256, 512, 525, 625, 1024, 1035
Columnas M 256, 512, 768, 1024, 1320
Niveles de Gris L 2, 64, 256, 1024, 4096, 16384

Tabla 7.1 Valores de algunos parámetros presentes en una imagen digital.

A menudo es posible encontrar casos en los que M=N=2K donde {K=8, 9, 10}.
Esto pude ser motivado por un circuito digital o por el uso de ciertos algoritmos
tales como la trasformada de Fourier y la transformada rápida de Fourier.
El número de niveles de gris usualmente es una potencia de 2, esto es, L=2B
donde B es el número de bits de representación binaria de la brillantes de los niveles.
Cuando B>1 se habla de una imagen en niveles de gris (o en escala de grises);
cuando B=1 se habla de una imagen binaria. En una imagen binaria sólo hay dos
niveles de gris lo cuales se pueden referenciar, por ejemplo como “negro” y “blanco”
o “0” y “1”.
Una imagen en niveles de gris (monocromática) se puede representar mediante
un arreglo de valores. Sean i y j dos números enteros donde 1 ≤i ≤M y 1 ≤j ≤N.
Adicionalmente f (i, j) denota una función entera tal que 0 ≤f (i, j) ≤W, donde W
denota el nivel de blanco de una imagen en niveles de gris. Un arreglo F se denomina
imagen digital.
 
f (1, 1) f (1, 2) ... f (1, n)
 f (2, 1) f (2, 2) ... f (2, n) 
 
F =  . . ... .   (7.1)
 . . ... . 
f (m, 1) f (m, 2) ... f (m, n)
Una dirección (i,j) define una posición en F, llamada pı́xel, pel o elemento de
la imagen. Los elementos de F denotan la intensidad dentro de algunas regiones
rectangulares pequeñas dentro de una imagen como se observa en la Figura 7.10.
Estrictamente hablando, f (i,j) mide la intensidad en un solo punto, pero si la re-
gión rectangular correspondiente es lo suficientemente pequeña, la aproximación
será lo suficientemente precisa para la mayorı́a de los propósitos. El arreglo F con-
tiene un total de M×N elementos y este producto se denomina la resolución espacial
de F. En la Figura 7.11 se muestra una asignación simple de 5 niveles de gris para
una imagen; es posible asignar arbitrariamente intensidades de acuerdo al siguiente
esquema:
Considérese cuantos datos se requieren para representar una imagen en escala de
grises en esta forma. Cada pı́xel requiere el almacenamiento de log2 (1+W) bits. Se
asume que (1+W) es un entero potencia de 2. De no ser ası́, entonces log2 (1+W)
debe redondearse al siguiente entero. Esto se puede representar usando la fun-
214 G. Saldaña-González

Figura 7.10 Imagen digital consistente en un arreglo de M×N, donde el renglón i-ésimo y la
columna j-ésima representan la intensidad igual a f (i,j).

Figura 7.11 Esquema para la asignación de los niveles de gris de una imagen.

ción ceiling (techo) <...>. Entonces una imagen en escala de grises requiere al-
macenamiento de <log2 (1+W)>bits. Dado que hay M×N pı́xeles, el total de los
datos almacenados para la imagen F entera es igual al M×N <log2 (1+W)>bits. Si
M=N≥128 y W≥64, se puede obtener una buena imagen de una cara humana. Mu-
chos de los sistemas de procesamiento de imágenes industriales en uso actualmente
manipulan imágenes en las cuales M=N=512 y W=255. Esto conduce a requerimi-
entos de almacenamiento de 256 Kbytes/imagen. Una imagen binaria requiere un
almacenamiento de M×N bits/imagen.
La señal de una cámara de color se puede representar utilizando tres compo-
nentes:R={r(i,j)}; G={g(i,j)}; B={b(i,j)}, donde R, G y B se definen de forma simi-
lar a F. El vector {r(i,j), g(i,j), b(i,j)} define la intensidad y el color en el punto (i,j)
en la imagen de color.
Las imágenes multiespectrales también se pueden representar usando varias
imágenes monocromáticas. La cantidad total de datos requeridos para codificar una
imagen de color con r componentes es igual a M×N×r <log2 (1+W)>bits, donde
W es simplemente el máximo nivel de la señal en cada canal.
7. Visión por Computadora 215

7.6. Principales operaciones con las imágenes

La visión por computadora consiste en un conjunto de técnicas que representan el


conocimiento actual de cómo se puede implementar la percepción visual en un sis-
tema basado en computadora. El objetivo principal consiste en transformar señales
en sı́mbolos, esto es tomar los datos sensados para transformarlos en una descrip-
ción significativa y explı́cita de la escena correspondiente a través de una serie de
pasos empleando representaciones progresivamente más abstractas de acuerdo a lo
mostrado en la Figura 7.12.

Figura 7.12 Transformación de las señales en sı́mbolos para un sistema de visión.

Estos pasos se pueden dividir en tres categorı́as, basado en la naturaleza del mo-
delo requerido para realizar el análisis: el análisis de la escena en bajo nivel se basa
en las propiedades locales de la imagen, el análisis de la escena a nivel intermedio
utiliza modelos geométricos genéricos y modelos fotométricos y el análisis en al-
to nivel de la imagen se basa en relaciones y en modelos semánticos orientados a
metas.

7.6.1. Análisis a bajo nivel

En los niveles más bajos de procesamiento, las técnicas de representación y trans-


formación tienden a ser independientes de un propósito final. El análisis a bajo nivel
de la escena tiene que ver con el proceso de transformación de señales continuas
derivadas del sensor en representaciones digitales discretas, y la reducción de ruido
y distorsión introducidos por el proceso de sensado. Las entradas a esta etapa de
procesamiento son las señales crudas de uno o más sensores, y la salida es tı́pica-
mente un conjunto de arreglos, donde cada arreglo corresponde a un atributo parti-
cular de la escena tal como la orientación de una superficie local, la reflectancia de
216 G. Saldaña-González

la superficie, la localización de esquinas, etc. Las técnicas de análisis a bajo nivel se


han desarrollado para:
Reducir el ruido en la imagen y los detalles no deseados sin una degradación
seria de la información necesaria para recuperar la descripción de alto nivel de la
escena.
Evitar ambigüedades, esto es separar las contribuciones de la iluminación, super-
ficie, reflectancia y orientación de la superficie para la brillantez de un punto en
la imagen.
Detectar homogeneidades locales y discontinuidades que pueden usarse para di-
vidir la imagen en regiones correspondientes a los objetos coherentes en la esce-
na.
Detectar diferentes caracterı́sticas locales de la imagen que son marcadores y
delimitadores importantes de la escena.
Deducir la geometrı́a de la superficie local (profundidad tridimensional y ori-
entación) desde la sombra, la textura, el análisis estéreo y el análisis de una se-
cuencia continúa de imágenes (flujo óptico).
El análisis generalmente trata con fenómenos locales, usando modelos basados
en conceptos generales tales como continuidad (o discontinuidad) de intensidad,
textura o color.

7.6.2. Análisis a nivel intermedio

Este tipo de análisis trata con la integración de las caracterı́sticas locales o pun-
tuales en construcciones globales, por ejemplo: convertir los puntos de un borde en
contornos continuos, dividir la imagen en regiones coherentes, asignar etiquetas a
las entidades detectadas en la escena, evaluación de los parámetros del sensor (de-
terminación de la localización espacial del sensor), derivación de un modelo de las
fuentes de iluminación, etc. Son necesarias diferentes representaciones y técnicas
para el análisis de la escena a nivel intermedio ya que no es posible extender las
técnicas utilizadas en el análisis a bajo nivel a fenómenos globales más complejos
que requieren comprender e interpretar las imágenes.
El análisis a nivel intermedio tiene que ver con la selección de modelos y la
asignación de valores a estos modelos (“instanciación”). Algunas de las tareas a
nivel intermedio son:
División de la imagen. Consiste en separar la imagen en unidades significativas
coherentes.
Enlazado de bordes y dibujo de bosquejos. Organización de los pı́xeles in-
dividuales en segmentos continuos; transformación de las lı́neas primitivas en
representaciones más abstractas.
Recuperación 3D de la geometrı́a de la escena. Utilización de las coacciones
entre bordes y superficies para deducir la geometrı́a tridimensional de la escena
a partir de trazos bidimensionales.
7. Visión por Computadora 217

Correspondencia de imágenes. Determinación de las correspondencias entre


dos imágenes.
Etiquetado de objetos. Asignación de etiquetas o nombres de clase a las estruc-
turas de la imagen.
Selección e instanciación de modelos. Selección de un modelo con parámetros
generalizados, y asignación de valores a esos parámetros para encajar en un con-
junto de datos de la imagen.

7.6.3. Análisis en alto nivel

El análisis en alto nivel busca proporcionar una descripción de la imagen en


términos de algún conjunto de modelos semántico y relaciones lingüı́sticas. El pro-
blema consiste en que el análisis de alto nivel está altamente acoplado al conoci-
miento semántico y al propósito final, se requiere una gran cantidad de conocimien-
to para unir la distancia entre lo que es inmediatamente visible en la imagen y lo
que se puede deducir acerca de la correspondiente escena. Algunas de las tareas en
alto nivel son:
Descripción de la Imagen-Escena. El ser humano produce un lenguaje natural
para descripción de los objetos por lo que las relaciones entre ellos dentro de una
escena parecieran ser directas, el problema consiste en determinan el significado
de las expresiones naturales para derivar acciones a partir de la escena de acuerdo
con lo deseado por el usuario.
Representación del conocimiento. Al representar el conocimiento acerca de
una escena se presentan dos preguntas: (1) ¿Que formalismos se deben usar para
relacionar hechos y deducciones de trazos de una colección de hechos?; y (2)
¿Qué relaciones básicas y palabras descriptivas deberı́an usarse en ese formalis-
mo? Una buena representación de la imagen debe tener la caracterı́stica adicional
de capturar parte de la información icónica implı́cita. Para este tipo de descrip-
ciones se usan frames (marcos) y redes semánticas.

7.7. Procesamiento de la imagen

El procesamiento de la imagen utiliza operaciones que son relativamente inde-


pendientes del contenido de la escena para alterar los valores almacenados en los
arreglos digitales que representan las escenas. Las operaciones de pre-procesamiento
generalmente se utilizan para remover ruido, mejorar ciertos aspectos de la imagen
(ej. Contornos), e inducir otros cambios que simplifiquen los pasos del procesamien-
to en alto nivel [6]. Se asume que las intensidades de la imagen son espacialmente
continuas sobre la mayorı́a de la imagen, que esta continuidad puede ser aproxi-
mada, por ejemplo, por un polinomio de bajo orden. Un objetivo importante en el
218 G. Saldaña-González

pre-procesamiento consiste en evitar la eliminación de los bordes existentes o en


introducir falsos bordes. Algunas operaciones tı́picas son (1) thresholding (umbral),
el cual reduce la imagen digitalmente cuantizada que contiene uno de muchos valo-
res enteros posibles de intensidad en cada punto a una imagen binaria que contiene
uno de sólo dos valores posibles en cada posición, y (2) Suavizado, el uso de varias
operaciones de filtrado para mejorar o suprimir ciertos aspectos de una escena.
Existe una gran variedad de formas de clasificar y caracterizar las operaciones
con imágenes. La razón para esto consiste en entender el tipo de resultados que se
esperan alcanzar con un tipo de operación dada.

7.7.1. Tipos de operaciones

Los tipos de operaciones que se pueden aplicar a las imágenes digitales para
transformar una imagen de entrada f [m,n] a una imagen de salida b[m,n], se pueden
clasificar en tres categorı́as como se observa en la Tabla 7.2.

Operación Caracteristica
Punto El valor de salida en una coordenada especı́fica
depende sólo del valor de entrada en la misma coordenada
Local (Ventanas) El valor de salida en una coordenada especı́fica
depende de los valores de una vecindad de la
misma coordenada
Global El valor de salida en una coordenada especı́fica
depende de todos los valores en la imagen de entrada

Tabla 7.2 Clasificación de las operaciones en imágenes digitales.

Una representación gráfica del funcionamiento de estos operadores se muestra


en la Figura 7.13.

7.7.2. Notación

Para la descripción de algunos operadores, a lo largo de este capitulo se uti-


lizará la siguiente notación, en la cual se consideran imágenes en escala de grises a
menos que se indique otra cosa.

i y j son variables que representan una fila y una columna de la imagen y se


encuentran en el siguiente rango: 1 ≤ i <M y 1 <j <N.
A={a(i,j)}, B={b(i,j)} y C={c(i,j)}.
W denota el nivel de gris.
g(X) es una función de una sola variable independiente X.
7. Visión por Computadora 219

Figura 7.13 Operadores de imágenes: (a) operadores de punto, (b) operadores locales o de ven-
tanas, (c) operadores globales.

h(X,Y) es una función de dos variables independientes X y Y.


El operador de asignación ‘←−’ se usará para definir una operación que se realiza
sobre un dato. Para indicar que una operación se realizará sobre todos los pı́xeles
dentro de una imagen, se usará el operador ‘⇐=’.
K, k1, k2, k3 son constantes.
V(i,j) es un conjunto de pı́xeles acomodados alrededor del pı́xel (i,j) de la si-
guiente manera:

(i-1,j-1) (i-1,j) (i-1,j+1)


(i,j-1) (i,j) (i,j+1)
(i+1,j-1) (i+1,j) (i+1,j+1)

V(i,j) conforma un conjunto de 3×3 pı́xeles y se denomina la vecindad de 3×3


de (i,j). Para simplificar algunas definiciones, las intensidades de los pı́xeles se de-
notaran utilizando la siguiente notación:

A B C
D E F
G H I

Las ambigüedades sobre el uso dual de A, B y C no deben causar problemas,


ya que el contexto aclara el significado. Los puntos {(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-
220 G. Saldaña-González

1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)} se denominan los 8 vecinos de (i,j), también


se denominan los 8 conectados a (i,j). Los puntos {(i-1,j),(i,j-1),(i,j+1), (i+1,j)} se
denominan los 4 vecinos de (i,j) o los 4 conectados a (i,j).

7.7.3. Operadores unarios, punto a punto

Estos operadores tienen una ecuación caracterı́stica de la forma:

c(i, j) ⇐= g(a(i, j))oE ⇐= g(E) (7.2)


Esta operación se realiza para todos (i,j) en el rango [1,M]×[1,N]. De manera
gráfica se observa en la Figura 7.14.

Figura 7.14 Operadores punto a punto. El pı́xel (i,j) en la imagen de entrada tiene intensidad a(i,j)
y se usa para calcular la intensidad del pı́xel c(i,j) en la imagen de salida.

Algunos ejemplos de este tipo de operadores se muestran a continuación:

Corrimiento de la intensidad


0 a(i,j)+k < 0
c(i, j) ⇐= a(i, j) + k 0 ≤ a(i,j)+k≤W (7.3)


W W< a(i,j)+k
K es una constante, cuyo valor depende del usuario. Nótese que esta definición
fue cuidadosamente diseñada para mantener c(i,j) dentro del mismo rango que la en-
trada, esto es [0,W]. Esto es un ejemplo de un proceso denominado normalización
de la intensidad. La Normalización es importante porque permite el procesamiento
iterativo por este y otros operadores en una máquina que tiene precisión limitada
para la aritmética (por ejemplo 8 bits).
7. Visión por Computadora 221

Multiplicación de la intensidad


0 a(i,j)·k < 0
c(i, j) ⇐= a(i, j) · k 0 ≤ a(i,j)·k≤W (7.4)


W W< a(i,j)·k
Logaritmo
(
0 a(i,j)=0
c(i, j) ⇐= log(a(i,j)) (7.5)
W[ log(W) ] de otro modo
Esta definición arbitrariamente reemplaza el valor infinito de log(0) por cero, y
de ese modo evita una dificultad de escalamiento del problema.

Antilogaritmo (exponencial)

c(i, j) ⇐= W · exp(a(i, j))/exp(W) (7.6)


Negativo

c(i, j) ⇐= W − a(i, j) (7.7)


Umbral
(
W k1≤a(i,j)≤k2
c(i, j) ⇐= (7.8)
0 de otro modo
Esta es una función importante, la cual convierte una imagen en escala de grises
a un formato binario.
Desafortunadamente, a menudo es difı́cil, o incluso imposible encontrar valores
satisfactorios para los parámetros k1 y k2.

Resaltado
(
k3 k1≤a(i,j)≤k2
c(i, j) ⇐= (7.9)
a(i, j) de otro modo
Elevación al cuadrado

c(i, j) ⇐= [a(i, j)]2 /W (7.10)


222 G. Saldaña-González

7.7.4. Operadores binarios, punto a punto

Los operadores binarios tienen una ecuación caracterı́stica de la forma:

c(i, j) ⇐= h(a(i, j), (b(i, j)) (7.11)


Hay dos imágenes de entrada: A={a(i,j)} y B={b(i,j)}, mientras la imagen de
salida es C={c(i,j)} como se muestra en la Figura 7.15.

Figura 7.15 Operador binario punto a punto. Las intensidades de los pı́xeles a(i,j) y b(i,j) en dos
imágenes de entrada se combinan para calcular la intensidad c(i,j) en la imagen de salida.

Es importante notar que c(i,j) depende sólo de a(i,j) y b(i,j). Algunos ejemplos
de operadores binarios son:

Suma

c(i, j) ⇐= [a(i, j) + (b(i, j)]/2 (7.12)


Resta

c(i, j) ⇐= [(a(i, j) − (b(i, j)) + W]/2 (7.13)


Multiplicación

c(i, j) ⇐= [(a(i, j) · (b(i, j))]/W (7.14)


Máximo

c(i, j) ⇐= MAX[a(i, j), (b(i, j)] (7.15)


7. Visión por Computadora 223

Cuando el operador de máximo se aplica a un par de imágenes se calcula la


unión (función OR) de sus áreas blancas. Esta función también se puede usar para
superimponer escritura blanca en una imagen de escala de grises.
Mı́nimo

c(i, j) ⇐= MIN[a(i, j), (b(i, j)] (7.16)


Cuando A y B son ambas binarias, se calcula la intersección (función AND) de
sus áreas blancas.

7.7.5. Operadores locales

La Figura 7.16 ilustra el principio de operación con los operadores locales.

Figura 7.16 Operador local, las intensidades de 9 pı́xeles en una ventana de 3×3 se combinan
para obtener un pı́xel de salida.

Nótese que las intensidades de varios pı́xeles se combinan juntas, para calcular la
intensidad de solo un pı́xel. Entre los operadores locales más simples está aquellos
en los que se utiliza un conjunto de 9 pı́xeles acomodados en un cuadrado de 3×3.
Estos tienen una ecuación caracterı́stica de la forma:

c(i, j) ⇐= g(a(i − 1, j − 1), a(i − 1, j), a(i − 1, j + 1), a(i, j − 1), a(i, j),

a(i, j + 1), a(i + 1, j − 1), a(i + 1, j), a(i + 1, j + 1)) (7.17)


Donde g(·) es una función de 9 variables. Este es un ejemplo de un operador
local que utiliza una ventana de proceso de 3×3. (Esto es, calcula el valor de un
pı́xel en base a las intensidades dentro de una región que contiene 3×3 pı́xeles.
Otros operadores locales emplean ventanas más grandes). En notación simplificada,
la definición anterior se reduce a: E⇐=g(A, B, C, D, E, F, G, H, I).
224 G. Saldaña-González

7.7.6. Operadores locales lineales

Un importante subconjunto de los operadores locales es el grupo formado por


aquellos que realizan una suma ponderada lineal, y que por tanto se conocen como
operadores locales lineales [9]. Para este grupo la ecuación caracterı́stica es:

E ⇐= k1 · (A · W1 + B · W2 + C · W3 + D · W4 + E · W5+
F · W6 + G · W7 + H · W8 + I · W9) + k2 (7.18)
Donde W1, W2,...W3 son pesos, los cuales pueden ser positivos, negativos o
cero. Los valores para los constantes normalizadas k1 y k2 se darán más tarde. La
matriz ilustrada a continuación se denomina matriz de pesos y es importante porque
determina las propiedades del operador local lineal.

W1 W2 W3
W4 W5 W6
W7 W8 W9

Las siguientes reglas resumen el comportamiento de este tipo de operadores


(Ellas excluyen el caso donde todos los pesos y las constantes de normalización
son cero, dado que el resultado serı́a una imagen nula):
1. Si los pesos son positivos o cero, el operador desenfoca la imagen de entrada.
El operador que desenfoca o también llamado blurring se conoce como filtrado
pasa-bajas. Al restar una imagen borrosa de la original se obtienen los puntos
donde la intensidad esta cambiando rápidamente y se denomina filtrado pasa-
altas.
2. Si W1=W2=W3=W7=W8=W9=0, y W4, W5, W6>0, entonces el operador de-
senfoca la imagen a lo largo de los renglones; las caracterı́sticas horizontales,
tales como los contornos y lı́neas no se afectan.
3. Si W1=W4=W7=W3=W6=W9=0 y W2, W5, W8>0, entonces el operador de-
senfoca la imagen a lo largo de las columnas; las caracterı́sticas verticales no se
afectan.
4. Si W2=W3=W4=W6=W7=W8=0 y W1, W5, W9>0, entonces el operador de-
senfoca a lo largo de la diagonal (De la parte superior izquierda a la inferior
derecha). No existe desenfoque a lo largo de la diagonal ortogonal.
5. Si la matriz de pesos se puede reducir al producto de matrices de la forma P× Q,
donde:
0 0 0
P= V4 V5 V6
0 0 0
y
7. Visión por Computadora 225

0 V1 0
Q= 0 V2 0
0 V3 0
Se dice que el operador es de tipo Separable. La importancia de esto es que es
posible aplicar dos operadores más simples sucesivamente, con matrices de pesos
P y Q, para obtener el mismo efecto que produce el operador separable.
6. La aplicación sucesiva de los operadores lineales que usan ventanas de 3×3 pı́xe-
les producen el mismo resultado que los operadores locales lineales con ventanas
más grandes. Por ejemplo, aplicando el operador que usa la siguiente matriz de
pesos:

1 1 1
1 1 1
1 1 1

Dos veces sucesivamente resulta en una imagen similar a la obtenida con un ope-
rador de 5×5 con la siguiente matriz de pesos (por simplicidad, se ha ignorado
la normalización):

1 2 3 2 1
2 4 6 4 2
3 6 9 6 3
2 4 6 4 2
1 2 3 2 1

Aplicando el mismo operador de 3×3 tres veces es equivalente a usar el siguiente


operador de 7×7:

1 3 6 7 6 3 1
3 9 18 21 18 9 3
6 18 36 42 36 18 6
7 21 42 49 42 21 7
6 18 36 42 36 18 6
3 9 18 21 18 9 3
1 3 6 7 6 3 1
226 G. Saldaña-González

Nótese que todos los operadores también son separables. Por lo tanto serı́a posi-
ble reemplazar el último operador de 7×7 mencionado con cuatro operadores
más simples: 3×1, 3×1, 1×3 y 1×3, aplicados en cualquier orden. No siempre
es posible reemplazar un operador de ventana grande con una sucesión de 3×3
operadores. Esto se vuelve obvio cuando se considera, por ejemplo, que un ope-
rador de 7×7 que usa 49 pesos y que tres operadores de 3×3 proporcionan sólo
27 grados de libertad. Sin embargo la separación a menudo es posible, cuando
un operador más grande tiene una matriz de pesos con alguna redundancia, por
ejemplo cuando es simétrica.
7. Para realizar la normalización, se usan los siguientes valores para k1 y k2:
¯ ¯
k1 ← 1/ ∑ ¯Wp,q ¯ (7.19)
p,q
¯ ¯
k2 ← [1 − ∑ Wp,q / ∑ ¯Wp,q ¯]W /2 (7.20)
p,q p,q

8. Un filtro que usa la siguiente matriz de pesos realiza la función de promedio local
sobre una ventana de 11×11:

1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1

Esto produce un efecto muy severo de desenfocado en 2-direcciones. Restando


el efecto de una operación de desenfocado (blurring) de la imagen original ge-
nera una imagen en la cual se enfatizan las manchas, las rayas y los cambios de
intensidad. Por otro lado, las áreas grandes de intensidad constante o cambios
lentos de intensidad se vuelven uniformemente grises. Este proceso se denomina
filtrado pasa-altas.
7. Visión por Computadora 227

7.7.7. Operadores locales no lineales

Algunos ejemplos de este tipo de operadores son [12]:

Función de vecindad de mayor intensidad

E ⇐= MAX(A, B,C, D, E, F, G, H, I) (7.21)


Este operador tiene el efecto de extender las regiones de brillo y reducir las re-
giones obscuras.

Detector de esquinas

E ⇐= MAX(A, B,C, D, E, F, G, H, I) − E (7.22)


Este operador es capaz de destacar los contornos (esto es, puntos donde la inten-
sidad está cambiando rápidamente).

Filtro de la media

E ⇐= FIFT H LARGEST (A, B,C, D, E, F, G, H, I) − E (7.23)


Este filtro es particularmente útil para reducir el nivel de ruido en una imagen.
(El ruido es generado por varias fuentes, tales como video cámaras y detectores de
rayos x y pueden ser una molestia si no se elimina por software o por hardware).

Detector de contornos Roberts


El gradiente Roberts se calcula utilizando una máscara de 2×2. Este determi-
nará el gradiente de contorno en dos direcciones diagonales (esto es la diferencia
cruzada):
q
E ⇐= (A − E)2 + (B − D)2 ) (7.24)
Detector Sobel
Este operador destaca los contornos en una imagen; los puntos donde el gradien-
te de intensidad es más alto son indicados por pı́xeles brillantes en la imagen de
entrada. El detector de contornos Sobel utiliza una máscara de 3×3 para determinar
el gradiente de contorno:
q
E ⇐= [(A + 2 · B +C) − (G + 2 · H + I)]2 +

[(A + 2 · D + G) − (C + 2 · F + I)]2 (7.25)


228 G. Saldaña-González

La siguiente aproximación es más fácil de implementar en software y hardware:

E ⇐= {|(A + 2 · B +C) − (G + 2 · H + I)| +


|(A + 2 · D + G) − (C + 2 · F + I)|}/6 (7.26)
En la Figura 7.17 se observa una comparación entre los detectores de contornos
Roberts y Sobel cuando se aplican a la misma imagen monocromática de entrada.

Figura 7.17 Detección de contornos. (a) Imagen original, (b) Detector Roberts, (c) Detector Sobel.

Nótese que mientras el operador Roberts produce contornos más delgados, estos
contornos tienden a romperse en las regiones de alta curvatura. La principal desven-
taja del operador Roberts es su alta sensibilidad al ruido, ya que se utilizan pocos
pı́xeles para calcular el gradiente del contorno. También hay un ligero corrimiento
en la imagen, cuando se usa el detector de contornos Roberts. El detector de con-
tornos Sobel no produce tal corrimiento.

Detector Prewitt
El detector de contornos Prewitt es similar al operador Sobel, pero es más sen-
sible al ruido ya que no posee el mismo suavizado inherente. Este operador usa las
dos ventanas de 3×3 que se observan para determinar el gradiente del contorno:
7. Visión por Computadora 229

-1 -1 -1 -1 0 1
0 0 0 -1 0 1
1 1 1 -1 0 1
P1 P2

Donde P1 y P2 son los valores calculados desde cada máscara respectivamente.


La magnitud del gradiente Prewitt se define como:
q
E ⇐= P12 + P22 (7.27)
Detector Frei y Chen
Este operador utiliza las dos máscaras de 3×3 mostradas a continuación para
determinar el gradiente del contorno:

-1 0 √1
-1 - 2 -1 √
0 √0 0 - 2 0 2
1 2 1 -1 0 1
F1 F2

Donde F1 y F2 son los valores calculados desde cada máscara respectivamente.


La magnitud del gradiente Frei y Chen se define como:
q
E ⇐= F12 + F22 (7.28)
Filtros de rango
El filtro de rango generalizado de 3×3 es:

c(i, j) ⇐= k1 · (A 0 · W1 + B 0 · W2 + C 0 · W3 + D 0 · W4 + E 0 · W5+
F 0 · W6 + G 0 · W7 + H 0 · W8 + I 0 · W9) + k2 (7.29)
Donde:
A ’=LARGEST(A,B,C,D,E,F,G,H,I)
B ’=SECOND LARGEST(A,B,C,D,E,F,G,H,I)
C ’=THIRD LARGEST(A,B,C,D,E,F,G,H,I)
...
I ’=NINTH LARGEST(A,B,C,D,E,F,G,H,I)

Y k1 y k2 son constantes de normalización definidas previamente. Con la elec-


ción apropiada de los pesos (W1, W2,..., W9) el filtro de rango se puede usar para
diversas operaciones incluyendo la detección, reducción de ruido, re-marcación de
contornos y el mejoramiento de la imagen.
230 G. Saldaña-González

Códigos de dirección
Esta función puede utilizarse para detectar la dirección de la intensidad del gra-
diente. La función DIR CODE se define como:



1 si A≥MAX(B,C,D,E,F,G,H,I)



2 si B≥MAX(A,C,D,E,F,G,H,I)





3 si C≥MAX(A,B,D,E,F,G,H,I)

4 si D≥MAX(A,B,C,E,F,G,H,I)
DIR CODE(A, B,C, D, E, F, G, H, I) ⇐=

5 si E≥MAX(A,B,C,D,F,G,H,I)



6 si F≥MAX(A,B,C,D,E,G,H,I)





7 si G≥MAX(A,B,C,D,E,F,H,I)


8 si H≥MAX(A,B,C,D,E,F,G,H)
(7.30)
Usando esta definición el operador se define como:

E ⇐= DIR CODE(A, B, C, D, E, F, G, H, I) (7.31)

7.7.8. Operadores N-tuple

Los operadores N-tuple están muy relacionados con los operadores locales y
tienen un gran número de variaciones lineales y no lineales. Los operadores N-
tuple se pueden ver como una versión generalizada de los operadores locales, sus
caracterı́sticas se observan en la Figura 7.18. Para entender los operadores N-tuple,
primero considérese un operador lineal el cual usa una ventana de procesamiento
grande, (r×s pı́xeles) con la mayorı́a de sus pesos iguales a cero. Sólo N de sus
pesos no son cero, donde N<<r×s, este es un filtro N-tuple.

Figura 7.18 Operador N-tuple, donde se observa que a diferencia de los operadores locales, los
pı́xeles que se combinan no forman parte de un conjunto compacto.
7. Visión por Computadora 231

Los filtros N-tuple usualmente se diseñan para detectar patrones especı́ficos. En


este rol, son capaces de localizar caracterı́sticas simples, tales como esquinas, oclu-
siones, identificación de algún número en cualquier posición. Sin embargo son sen-
sibles a cambios de orientación y escala. Los N-tuple se pueden ver como una plan-
tilla desordenada, que se convoluciona con la imagen de entrada.
Los operadores no lineales se pueden definir de una forma bastante obvia. Por
ejemplo se puede definir como aquellos operadores en los cuales se calculan el
promedio, el máximo, el mı́nimo o los valores medios de intensidad de N pı́xeles
cubiertos por el N-tuple. Una clase importante de tales funciones son los operadores
morfológicos.

7.7.9. Efectos de borde

Todos los operadores locales y los filtros N-tuple son susceptibles de producir
efectos peculiares alrededor de los bordes de una imagen. La razón es simplemente
que, para calcular la intensidad de un punto cerca del borde de una imagen, se re-
quiere información acerca de algunos pı́xeles fuera de la imagen, los cuales por
supuesto no están presentes. Para calcular los valores en los pı́xeles de los bordes,
es necesario hacer algunas asunciones, por ejemplo que todos los puntos fuera de la
imagen son negros o tienen el mismo valor que los pı́xeles del borde. Esta estrate-
gia, o alguna otra que se adopte, es perfectamente arbitraria y habrá ocasiones en
que los efectos de borde sean tan pronunciados que no hay nada que se pueda hacer
para removerlos por enmascaramiento. Los efectos de borde son importantes ya que
requieren tomar provisiones cuando se intenta remendar (pegar) varias imágenes de
baja resolución.

7.7.10. Histograma de intensidad

El histograma se define de la siguiente manera:


(a) Sea
(
1 a(i,j)=p
s(p, i, j) ← (7.32)
0 de otro modo
(b) Sea h(p) definida como:

h(p) ← ∑ s(p, i, j) (7.33)

De hecho no es necesario almacenar cada uno de los s(p,i,j) ya que el cálculo


del histograma puede ser realizado en un proceso serial en el cual el estimado de
232 G. Saldaña-González

h(p) se actualiza iterativamente, a medida que se escanea la imagen. El histograma


acumulativo, H(P), se puede calcular usando la siguiente iteración recursiva:

H(p) = H(p − 1) + h(p), dondeH(0) = h(0) (7.34)


Ambos histogramas el acumulativo y el estándar tienen muchos usos, como se
verá adelante. Es posible calcular varios niveles de intensidad lo cual indica la ocu-
pación de la gama de intensidad. Por ejemplo, es simple determinar el nivel de
intensidad p(k) el cual cuando se usa como un umbral asegura que la proporción de
k de la imagen de salida sea negro, p(k) se puede calcular usando el hecho de que
H(p(k))=M ×N×k. La intensidad media es igual a:

∑ (h(p) · p)/(m · n) (7.35)


p

Mientras la máxima intensidad es igual a MAX(p|h(p)>0) y la intensidad mı́ni-


ma es igual a MIN(p|h(p)>0).
Uno de los usos principales de un histograma es en la selección de los umbrales.
Es útil para graficar h(p) como una función de p. A menudo se encuentra a par-
tir de esta gráfica que una posición apropiada para el umbral se puede relacionar
directamente a la posición del “pie de la colina” o en un “valle” en el histograma.
Un operador importante para el mejoramiento de una imagen está dado por la
transformación:

c(i, j) ⇐= [W · H(a(i, j))]/(m · n) (7.36)


Esto tiene la propiedad de que el histograma de la imagen de salida {c(i,j)} es
plano, dando lugar a la llamada ecualización del histograma para esta operación.
Nótese que la ecualización del histograma es un operador unario punto a punto,
dependiente de los datos.
Una operación conocida como “ecualización del histograma de área local” cae
dentro de la aplicación de la ecualización del histograma dentro de una ventana
pequeña. En esta operación se cuenta el número de pı́xeles en una ventana pequeña
que son más obscuros que el pı́xel central. Este número define la intensidad en un
punto equivalente en la imagen de salida. Esta es una técnica poderosa de filtrado,
la cual es particularmente útil en aplicaciones de análisis de textura.

7.7.11. Imágenes binarias

Para los propósitos de la descripción de procesamiento de una imagen binaria, es


conveniente asumir que a(i,j) y b(i,j) solo pueden tomar dos valores: 0 (negro) y 1
(blanco). El operador “+” denota la operación booleanas OR “·” representa la ope-
ración AND y “⊗” denota la operación booleanas OR Exclusiva. #(i,j) que denota
el número de puntos blancos dirigidos por V(i,j) incluyendo (i,j) mismo.
7. Visión por Computadora 233

Entre las operaciones más comunes para las imágenes binarias se encuentran:

Inversa

c(i, j) ⇐= NOT (a(i, j)) (7.37)


AND, regiones blancas

c(i, j) ⇐= a(i, j) · b(i, j) (7.38)


OR

c(i, j) ⇐= a(i, j) + b(i, j) (7.39)

OR Exclusiva
Encuentra las diferencias entre las regiones blancas.

c(i, j) ⇐= a(i, j) ⊗ b(i, j) (7.40)

Expansión de áreas blancas

c(i, j) ⇐= a(i − 1, j − 1) + a(i − 1, j) + a(i − 1, j + 1) + a(i, j − 1) + a(i, j)+

a(i, j + 1) + a(i + 1, j − 1) + a(i + 1, j) + a(i + 1, j + 1) (7.41)


Nótese que esto está muy relacionado con el operador local de vecindad de mayor
intensidad definido previamente. Esta ecuación puede expresarse en notación sim-
plificada como:

E ⇐= A + B +C + D + E + F + G + H + I (7.42)

Reducción de áreas blancas

c(i, j) ⇐= a(i − 1, j − 1) · a(i − 1, j) · a(i − 1, j + 1) · a(i, j − 1) · a(i, j)·

a(i, j + 1) · a(i + 1, j − 1) · a(i + 1, j) · a(i + 1, j + 1) (7.43)


O de forma más simple:

c(i, j) ⇐= A · B ·C · D · E · F · G · H · I (7.44)
234 G. Saldaña-González

Detector de bordes

c(i, j) ⇐= E · NOT (A · B ·C · D · E · F · G · H · I) (7.45)

Remoción de puntos blancos aislados


(
1 a(i,j)·(# (i,j)>1)
c(i, j) ⇐= (7.46)
0 de otro modo

Conteo de vecinos blancos

c(i, j) ⇐= #(a(i, j) = 1) (7.47)


Donde #(Z) es el número de veces que ocurre Z. Nótese que c(i,j) es una imagen
en escala de grises.

Detector de conectividad
Considérese el siguiente patrón:

1 0 1
1 X 1
1 0 1

Si X=1, entonces todos los 1’s tienen 8 conexiones entre si. Alternativamente,
si X=0, entonces no están conectados. En este sentido, el punto marcado con X es
crı́tico para la conectividad. Este es el mismo caso para los siguientes ejemplos:

1 0 0 1 1 0 0 0 1
0 X 1 0 X 0 1 X 0
0 0 0 0 0 1 1 0 1
Sin embargo, estos puntos marcados con X en la parte inferior no son crı́ticos
para la conectividad, ya que puestos a X=0 en lugar de 1 no tiene ningún efecto en
la conectividad de los 1s.
1 1 1 0 1 1 0 1 1
1 X 1 1 X 0 1 X 0
0 0 1 1 1 1 0 1 1
7. Visión por Computadora 235

Un detector de conectividad sombrea la imagen de salida con 1’s para indicar


la posición de aquellos puntos que son crı́ticos para la conectividad y cuales eran
blancos en la imagen de entrada. Los puntos negros y aquellos que no son crı́ticos
para la conectividad se mapean en negro en la imagen de salida.

Número de Euler
El número de Euler se define como el número de componentes conectados
(Blobs) menos el número de huecos en la imagen binaria. El número de Euler repre-
senta un método simple para contar los blobs en una imagen binaria, con tal que no
contengan huecos en ellos. Alternativamente, se puede usar para contar los huecos
en un objeto dado, con tal que no tengan “islas” en ellos. La razón por la cual se uti-
liza esta aproximación para contar blobs, es la simpleza con que puede calcularse el
número de Euler. También es un medio útil para clasificar formas en una imagen. El
número de Euler se puede calcular usando tres operadores locales. Sean los números
N1, N2 y N3 donde N α indica el número de veces que un patrón en el conjunto de
patrones α (α =1, 2 ó 3) ocurre en la imagen de entrada:
0 0 0 0 1 0 0 1
0 1 1 0 0 0 0 0
Conjunto de Patrones 1 (N1)
0 1 1 0
1 0 0 0
Conjunto de Patrones 2 (N2)
1 1 1 1 0 1 1 0
1 0 0 1 1 1 1 1
Conjunto de Patrones 3 (N3)

El número de Euler de 8 conexiones, donde los huecos y blobs están definidos en


términos de figuras de 8 conexiones, se define como (N1-N2×N2-N3)/4. Es posi-
ble calcular el número de Euler de 4 conexiones usando una formula ligeramente
diferente, pero este parámetro puede dar resultados los cuales parecen ser anómalos
cuando se comparan con el número de huecos y blobs observados.

Llenado de huecos
Considérese una figura de forma semejante a un blob que contiene un hueco
(lago), contra un fondo negro. La aplicación del operador de llenado de huecos
causará que se llenen todos los huecos al poner todos los pı́xeles del hueco en blan-
co. Este operador no altera los bordes externos de la figura.

Etiquetado de regiones
Considérese una imagen que contiene un número de figuras separadas semejantes
a un blob. Un operador de etiquetado de regiones sombreará la imagen de salida de
tal forma que cada blob obtiene un valor de intensidad separado. Se podrı́an som-
brear los blobs de acuerdo al orden en el que son encontrados, durante un escaneo
236 G. Saldaña-González

convencional de la imagen de entrada. Alternativamente, los blobs pueden ser som-


breados de acuerdo a sus áreas, el blob más grande se pone más brillante. Este es un
operador muy útil, ya que permite separar los objetos y analizarlos individualmente
como se muestra en la Figura 7.19.

Figura 7.19 Sombreado de los blobs en una imagen binaria: (a) de acuerdo a las áreas, (b) de
acuerdo al orden en que son encontrados (izquierda a derecha; arriba hacia abajo).

Los blobs pequeños también pueden ser eliminados de una imagen usando este
operador. El etiquetado de regiones puede usarse para contar el número de blobs
diferentes en una imagen. A diferencia del número de Euler, el conteo basado en el
etiquetado de regiones no se afecta por la presencia de huecos.

7.8. Morfologı́a matemática binaria

El concepto básico involucrado en la morfologı́a matemática es simple: una ima-


gen se prueba con una forma de plantilla, llamada un elemento estructurante, para
encontrar las partes donde este elemento cabe o no dentro de la imagen [8], por
ejemplo en la imagen de la Figura 7.20.
Al marcar las ubicaciones donde la plantilla cabe, se puede obtener información
estructural acerca de la imagen. Los elementos estructurantes utilizados en la prácti-
ca generalmente son geométricamente más simples que la imagen en la que actúan,
aunque este no es siempre el caso. Entre los elementos estructurantes más comunes
se encuentran los puntos, los pares de puntos, los vectores, las lı́neas, los cuadrados,
los octágonos, los discos, los rombos y los anillos. Dado que la forma es un porta-
dor principal de información en aplicaciones de sistemas de visión, la morfologı́a
matemática tiene un rol importante en sistemas industriales.
7. Visión por Computadora 237

Figura 7.20 Elemento estructurante. B cabe dentro de la imagen, A no cabe en la imagen dada.

El lenguaje de la morfologı́a binaria se deriva de la teorı́a de conjuntos. La mor-


fologı́a matemática general normalmente se discute en términos de un espacio eu-
clidiano de dimensión N, pero en el análisis de una imagen digital sólo interesa
un espacio bidimensional discretizado o digitalizado. El siguiente análisis está por
tanto restringido a una imagen binaria, en un espacio de enteros digital de dos di-
mensiones Z 2 . El conjunto de la imagen (o escena) bajo análisis se denota por A,
con elementos a=(a1,a2). El parámetro de forma, o elemento estructurante, que se
aplicará a la escena A se denotará por B, con elementos b=(b1,b2). Las primeras ope-
raciones morfológicas que se examinaran son dilatación, erosión, apertura y cierre.
Dilatación es la expansión de una imagen A por un elemento estructurante B.
Formalmente se ve como una combinación de los dos conjuntos usando la suma vec-
torial de los elementos. La dilatación de la imagen A por un elemento estructurante
B se denota por A⊕B y se puede representar como la unión de las traslaciones del
elemento estructurante B.
[
D(A, B) = A ⊕ B = Ab (7.48)
b∈B
S
Donde representa la unión de un conjunto de puntos y la translación de B por el
punto a está dada por Ba ={c ∈ Z2 | c=b+a para algún b∈B}. Esto se explica de mejor
manera al visualizar un elemento estructurante B moviéndose sobre una imagen
A. Donde el origen del elemento estructurante toca un pı́xel de la imagen en A,
entonces el elemento estructurante completo se coloca en esa posición. Por ejemplo
en la Figura 7.21, la imagen de la rejilla se dilata por un elemento estructurante con
forma de cruz en una rejilla de 3×3 pı́xeles.
Erosión. Es la operación morfológica dual a la dilatación y es equivalente a
encoger (o reducir) la imagen A mediante un elemento estructurante B. Esta es una
transformación morfológica la cual combina dos conjuntos usando resta de vectores
de los elementos. La erosión de una imagen A por un elemento estructurante se
denota por AªB y puede representarse como:
238 G. Saldaña-González

Figura 7.21 Dilatación de una imagen por un elemento estructurante en forma de cruz.

\
E(A, B) = A ª B = Ab (7.49)
b∈B
T
Donde representa la intersección de un conjunto de puntos. La Erosión de la
imagen A por B es el conjunto de todos los puntos para los cuales B trasladado a un
punto x esta contenido en A. Esto consiste en deslizar el elemento estructurante B a
través de A, y donde B esta completamente contenido en A (al colocar el origen del
elemento estructurante en el punto x) después x pertenece a la imagen erosionada
AªB. Por ejemplo en la Figura 7.22 la imagen en la rejilla es erosionada por un
elemento estructurante con forma de cruz contenido en una rejilla de pı́xeles de
3×3.

Figura 7.22 Erosión de una imagen por un elemento estructurante en forma de cruz.

Existe una relación dual entre ciertos operadores morfológicos, tales como la
erosión y la dilatación. Esto significa que el equivalente de tal operación se puede
realizar por su dual en la imagen complemento (negativo) y tomando el comple-
mento del resultado. Aunque duales las operaciones erosión y dilatación no son
inversas la una de la otra. Más bien están relacionadas de acuerdo con las siguientes
relaciones:

(A ª B)c = Ac ⊕ B y (A ⊕ B)c = Ac ª B (7.50)


Donde Ac se refiere al complemento de la imagen A y:

B = {x|para algún b ∈ B, x = −b} (7.51)


7. Visión por Computadora 239

Se refiere a la reflexión de B respecto a su origen.

7.8.1. Operaciones de apertura y cierre

La Erosión y la Dilatación tienden a ser usadas en pares para extraer, o imponer,


estructura sobre una imagen. El par más comúnmente encontrado erosión-dilatación
ocurre en las transformaciones de apertura y cierre.

Apertura
Es una combinación de las operaciones erosión y dilatación que tiene el efecto
de remover puntos aislados en la imagen que son más pequeños que el elemento es-
tructurante B y aquellas secciones de la imagen A que son más angostas que B. Esto
también puede verse como una operación geométrica de redondeo como se observa
en la Figura 7.23. La apertura de una imagen A por un elemento estructurante B, se
denota por A◦B, y se define como:

(A ª B) ⊕ B (7.52)
Cerradura
Es la operación morfológica dual a la apertura. Esta transformación tiene el efec-
to de llenado de los huecos y bloqueo de valles angostos en la imagen A, donde un
elemento estructurante B (de tamaño similar a los hueco y los valles) es aplicado. El
resultado de esta operación puede verse en la Figura 7.23.
La cerradura de la imagen A por un elemento estructurante B se denota por A•B,
y se define como (A ⊕ B) ª B.

Figura 7.23 Aplicación de un elemento estructurante de 3×3 a una imagen binaria. (a) Imagen
original, (b) Resultado de la operación de Apertura, (c) Resultado de la operación de Cierre.

Una importante propiedad que comparten las operaciones de Apertura y Cierre


es la idempotencia. Esto significa que la reaplicación exitosa de las operaciones
no cambiará la imagen transformada previamente. Por tanto A ◦ B = (A ◦ B) ◦ B y
A • B = (A • B) • B.
240 G. Saldaña-González

Desafortunadamente, la aplicación de las técnicas morfológicas a tareas indus-


triales, las cuales involucran operaciones complejas en el “mundo real”, pueden
ser difı́ciles de implementar. Las aplicaciones prácticas tienden a tener elementos
estructurantes que tienen un tamaño y una forma impredecible. En la práctica, la
habilidad de manipular arbitrariamente elementos estructurantes usualmente recae
en la descomposición en sus diferentes partes.

7.9. Morfologı́a en escala de grises

Las operaciones morfológicas binarias se pueden extender naturalmente al proce-


samiento en imágenes de escala de grises, utilizando las funciones de máximo y
mı́nimo. En la Figura 7.24 un filtro morfológico de una dimensión opera en una
señal analógica (equivalente a una imagen en escala de gris).

Figura 7.24 Operación de un filtro morfológico sobre una señal analógica.

Esta señal de entrada se representa por la curva delgada y la salida por la curva
gruesa. En este simple ejemplo el elemento estructurante tiene una forma aproxima-
damente parabólica. Para calcular un valor en la señal de salida, el elemento estruc-
turante se empuja hacia arriba, desde abajo en la curva de entrada. La altura de la
cima del elemento estructurante se nota. Este proceso entonces se repite, al deslizar
el elemento estructurante lateralmente. Nótese como este operador particular atenúa
el pico de intensidad pero sigue la señal de entrada de forma precisa en los demás
puntos. Restando la señal de salida de la de entrada se produce un resultado en el
cual el pico de intensidad se enfatiza y todas las demás variaciones se reducen.
El efecto de los operadores morfológicos básicos en imágenes de dos dimen-
siones en escala de grises también se puede explicar en estos términos. Imagı́nese
que la imagen en escala de grises es un paisaje, en el cual cada pı́xel puede verse en
3-D. La dimensión extra de la altura representa el valor en la escala de grises de un
pı́xel. Se generan nuevas imágenes al pasar el elemento estructurante por encima o
por debajo de este paisaje. Figura 7.24.
7. Visión por Computadora 241

7.9.1. Dilatación en escala de grises

Esta se calcula como el máximo de las traslaciones de la superficie de grises.


La dilatación de la imagen en niveles de grises A por el elemento estructurante B
produce una imagen C definida por:

C(r, c) = MAX(i, j) {A(r − i, c − j) + B(i, j)} = (A ⊕ B)(r, c) (7.53)


Donde A, B y C son imágenes en niveles de gris. Los elementos estructurantes
comúnmente usados incluyen barras, discos, conos y hemisferios. Esta operación es
comúnmente usada para suavizar pequeños contrastes negativos en las regiones de
niveles de gris de una imagen.

7.9.2. Erosión en escala de grises

El valor de gris de la erosión en cualquier punto es el valor máximo para el cual


el elemento estructurante centrado en ese punto, aun cabe enteramente dentro del
primer plano bajo la superficie. Este es calculado al tomar el mı́nimo de la superfi-
cie gris trasladada por todos los puntos del elemento estructurante, de acuerdo con
la Figura 7.23. La erosión en nivel de grises de la imagen A por el elemento estruc-
turante B produce una imagen C definida por:

C(r, c) = MIN(i, j) {A(r + i, c + j) + B(i, j)} = (A ª B)(r, c) (7.54)


Esta operación es comúnmente utilizada para suavizar pequeños contrastes posi-
tivos en las regiones de nivel de grises en una imagen.

7.9.3. Apertura en niveles de gris

Esta operación se define como la erosión de nivel de gris de la imagen seguida por
la dilatación en nivel de gris de la imagen erosionada. El efecto producido cortará los
picos en la topografı́a de niveles de gris al nivel más alto para el cual el elemento
cabe bajo la superficie.

7.9.4. Cerradura en escala de grises

Esta operación está definida como la dilatación en nivel de gris de la imagen


seguida por la erosión en nivel de gris de la imagen dilatada. La Cerradura llena los
valles al máximo nivel para el cual el elemento no cabe sobre la superficie.
242 G. Saldaña-González

7.10. Sistemas de visión basados en FPGA

Actualmente los sistemas de visión que dependen de una PC están resultando


insuficientes. Las cámaras de alta resolución y la creciente demanda por mayor ve-
locidad de operación están empujando las necesidades de procesamiento más allá de
las capacidades de los procesadores comunes, aun para funciones simples.
El tamaño de las imágenes de las aplicaciones de alto desempeño se extiende más
allá de 16M pı́xeles (4K×4K). Las velocidades de video para aplicaciones deman-
dantes tales como captura de movimiento de alta velocidad puede extenderse hasta
1,000 cuadros por segundo (fps). Aun en las 30 fps del video estándar, las imágenes
de alta resolución producen velocidades de procesamiento en el sistema cercano a
los 500M pı́xeles/segundo. Para sistemas simples monocromáticos de 8-bits, se pre-
senta una velocidad de procesamiento de la mitad de un gigabit por segundo; para
sistemas de color que tı́picamente utiliza 24 o 48 bits por pı́xel (3 ó 6 bytes), la
velocidad de procesamiento rápidamente alcanza velocidades de multigigabits por
segundo.
Aún con los CPUs de más alto desempeño disponible, un procesador de PC sólo
puede manejar funciones de procesamiento de imágenes relativamente simple en
tiempo real en la parte inferior del rango de velocidad de procesamiento de datos.
La alternativa de almacenar datos para el procesamiento subsecuente fuera de lı́nea
no es práctica en muchas aplicaciones. La aceleración por hardware en el lugar
apropiado del sistema puede reducir el déficit que presentan este tipo de sistemas.

7.10.1. Demandas de los sistemas de visión

Las funciones que debe realizar un sistema de visión imponen muchas demandas
a los elementos de procesamiento, los cuales el sistema debe manejar satisfactoria-
mente. Entre las demandas principales están requerimientos substanciales para el
poder de procesamiento, gran ancho de banda de E/S, y una latencia bien definida
en el procesamiento.
Un ejemplo tı́pico de estas necesidades computacionales es la convolución, uti-
lizando una máscara programable para aplicaciones tales como filtrado, detección y
reconocimiento de caracterı́sticas. Trabajando con una imagen de 4K×4K a 30 fps,
se requiere que el sistema maneje velocidades de datos por arriba de 490M pı́xe-
les/segundo. Una máscara de convolución tı́pica de 5×5 tiene 25 coeficientes que
deben multiplicarse con pı́xeles almacenados para cada nuevo pı́xel que llega. La
demanda de procesamiento resultante, por tanto, es al menos 12 GFLOPS.
La necesidad de alto desempeño de E/S puede no ser tan obvia, pero puede ser
incluso más crı́tica. Un ejemplo es el histograma, donde para cada pı́xel de la ima-
gen el sistema incrementa un contador correspondiente con el valor del pı́xel para
construir la descripción estadı́stica de la distribución de intensidad de la imagen.
Aunque esta tarea no requiere ningún cálculo, necesita un rápido acceso aleatorio a
los contadores en la memoria para construir un histograma en tiempo real.
7. Visión por Computadora 243

Una latencia bien definida y determinismo son necesarios para obtener resultados
apropiados. Un sistema de visión que inspecciona las partes que se mueven a través
de una banda transportadora debe decidir rápidamente si aceptar o rechazar una
parte. Entre más rápido pueda operar, más rápido operará la lı́nea de manufactura.
Pero el sistema también necesita una baja latencia y el tiempo consistente permitido
por determinismo en el proceso para tomar una decisión. Entre mas tiempo requiera
el sistema para tomar una decisión, la pieza viajará más lejos a lo largo de la banda
entre el punto de inspección y el punto de rechazo de la pieza ası́ que se requiere
una baja latencia para mantener la distancia de viaje de la pieza en lı́mites prácticos.
Los tiempos consistentes permiten al sistema alcanzar sus decisiones en tiempo para
rechazar la parte cuando es necesario.

7.10.2. Aceleración por hardware

Un enfoque alternativo consiste en combinar el uso de PCs con un coprocesador


que utiliza lógica paralela dedicada, en lugar de ejecutar código secuencial. Un
acelerador de procesamiento basado en hardware puede proporcionar substancial-
mente mayor incremento en el desempeño comparado con los procesadores conven-
cionales.
Con la tecnologı́a FPGA de hoy en dı́a, es posible realizar la implementación de
lógica de aceleración basada en hardware para los sistemas de visión que permiten
alcanzan las necesidades de desempeño mientras mantienen la flexibilidad [4].
La reconfigurabilidad proporciona a los diseños basados en FPGA virtualmente
el mismo grado de flexibilidad que los procesadores pueden proporcionar sin ningu-
na de sus limitaciones. Los desarrolladores pueden adaptar un sistema de visión
basado en FPGA para manejar una variedad de aplicaciones [2].
El campo de programabilidad de tales diseños permite a los usuarios personalizar
los sistemas de acuerdo a sus necesidades y adaptarlos conforme las necesidades
cambian sin tener que utilizar un nuevo hardware. Usando FPGAs que pueden ser
programados por hardware los sistemas de visión permiten implementar diferentes
tareas una vez que se cargan con un nuevo programa.

7.10.3. Dispositivos FPGA

Un FPGA es un dispositivo lógico programable que soporta la implementación


de circuitos lógicos, su ventaja real es que el chip puede borrarse y re-programarse
varias veces haciendo que el proceso de depuración sea rápido y barato, consideran-
do sólo el precio de compra inicial.
Tradicionalmente, los FPGAs fueron utilizados para verificación y validación.
Un diseñador podı́a prototipar rápidamente su diseño en hardware para verificar que
el diseño cumplı́a con las especificaciones para proporcionar una solución correcta.
244 G. Saldaña-González

A través de este uso, no es necesario fabricar en diseño en hardware hasta la etapa


final del prototipado. Esto reduce drásticamente el costo y el tiempo de desarrollo
de hardware [5]. Recientemente las capacidades y el desempeño de los FPGAs han
crecido de tal forma que pueden ser utilizados para desarrollar muchos productos
finales. Mientras el proceso de trasladar un FPGA a un producto comercial se ha
estado llevando a cabo, estos dispositivos han sido usado en sistemas embebidos,
sólo hasta ahora se empiezan a utilizar otro tipo de aplicaciones.
La arquitectura tı́pica de un FPGA incluye un arreglo regular de bloques de lógi-
ca configurable (Configurable Logic Blocks-CLBs) con recursos de ruteo para in-
terconexión y está rodeado de Bloques de E/S programables (Input/Output Blocks-
IOBs). Los CLBs proporcionan los elementos funcionales para construir lógica
mientas que los IOBs proporcionan la interfase entre los pines del empaquetado y los
CLBs. Los FPGAs son ampliamente usados para prototipado antes de la fabricación
de un circuito VLSI o pueden ser usados directamente en un producto comercial. La
Figura 7.25 muestra la estructura básica de un FPGA de Xilinx [13].

Figura 7.25 Estructura básica de un FPGA de Xilinx.

La estructura de un CLB puede ser tan simple con un transistor o tan compleja
como un procesador. Los CLBs se pueden ordenar en un renglón o más comúnmente
en una matriz. El número de CLBs disponible varı́a de compañı́a en compañı́a. La
red de interconexión sirve como una fábrica implı́cita para proporcionar interco-
nexiones flexibles entre los CLBs para la sı́ntesis de la lógica digital. De los tres
bloques de un FPGA, la red de interconexión tı́picamente ocupa el máximo espacio.
7. Visión por Computadora 245

El proceso de diseño para los FPGAs utiliza una variedad de herramientas de


Diseño Asistido por Computadora (CAD). Estas herramientas permiten al diseñador
describir el diseño usando varios formalismos de especificación tales como VHDL,
Verilog, Handel-C, máquinas de estado o algún otro lenguaje propietario. Usando
esta especificación, las herramientas realizan la sı́ntesis del diseño para generar una
descripción a nivel de compuertas del sistema. A esto sigue un proceso de colo-
cación y ruteado el cual fragmenta el diseño en los componentes básicos del FPGA
y determina los esquemas óptimos de interconexión.

7.10.4. Consideraciones para la implementación de una


arquitectura

Para iniciar un sistema de visión basado en FPGA, los desarrolladores deben


analizar los algoritmos de procesamiento de imágenes que necesitan ejecutar, bus-
cando explotar el paralelismo. Las estructuras para la implementación de estas ta-
reas paralelas se pueden implementar en el hardware del FPGA. El hardware debe
incluir cantidades significativas de memoria para almacenar datos. Tanto la memoria
de tipo SRAM como las tipo DRAM deben estar disponibles para el FPGA usando
interfaces de memoria dedicadas.
Otro paso para aplicar el FPGA consiste en determinar la mejor localización
dentro del sistema para que la aceleración se lleve a cabo. Cuando la latencia es una
preocupación en la aplicación, se puede tener una ventaja colocando el elemento
acelerador cercano a la cámara. En esta posición, el coprocesador puede trabajar di-
rectamente con los pı́xeles producidos. Para el momento en que un cuadro completo
de la imagen ha sido capturado, ya habrá sido procesado.
Cuando la latencia no es importante y la aplicación requiere funciones computa-
cionalmente intensivas, el acelerador se puede localizar en el frame grabber lo cual
es más apropiado. Para cuando los recursos como la potencia eléctrica y el espacio
fı́sico están limitados en la cámara, el frame grabber puede contener diseños mu-
cho más grandes. Además, los recursos tales como la memoria y el almacenamiento
masivo están disponibles más prontamente.

7.10.5. Ejemplo de aplicación

Al utilizar un coprocesador basado en FPGA en el diseño, se obtiene alto de-


sempeño ası́ como flexibilidad en el diseño. El sistema presentado consiste en una
arquitectura basada en FPGA que implementa operadores locales para el proce-
samiento a bajo nivel de imágenes. La arquitectura es parametrizable permitiendo la
posibilidad de modificar el tamaño de la ventana de operación ası́ como la operación
que implementa el sistema [10].
246 G. Saldaña-González

El sistema cuenta con un esquema que permite reducir el número de accesos


a la memoria de datos y elementos de ruteo que permiten manejar el movimiento
de los datos a diferentes elementos dentro y fuera de la arquitectura. El sistema
puede procesar imágenes de 640×480 en niveles de gris con lo que se obtiene un
desempeño pico de 5.6 GOPS por segundo. La Figura 7.26 muestra el diagrama a
bloques de la arquitectura.

Figura 7.26 Diagrama a bloques de la arquitectura.

Esta arquitectura permite seleccionar ente las operaciones de Filtrado, Operado-


res Morfológicos, pirámide Gaussiana y multiplicación de matrices. Los resultados
de su implementación se observan en la Figura 7.27.
Los resultados muestran que este sistema puede proporcionar resultados en tiem-
po real, por lo que puede utilizarse como coprocesador en algún sistema de visión
que requiera procesamiento a bajo nivel de las imágenes.
Adicionalmente el enfoque con FPGA proporciona considerable flexibilidad. Los
usuarios finales tienen total control sobre los parámetros para las funciones, y tam-
bién pueden implementar funciones personalizadas en base al mismo hardware.

7.10.6. Desempeño y flexibilidad

El aumento en la resolución de la imagen y el incremento en las demandas de


capacidad de procesamiento en aplicaciones tales como las máquinas de visión in-
dustriales están superando lo que puede lograrse con una simple PC o procesador
programable. La aceleración por hardware es esencial, y de todas las operaciones
7. Visión por Computadora 247

Figura 7.27 Resultado de los operadores locales aplicados a diversas imágenes. (a) Filtrado, (b)
Operadores morfológicos, Erosión y Dilatación, (c) Pirámide Gaussiana, (e) Multiplicación de
matrices.

que mejoran el funcionamiento de las aplicaciones los FPGA ofrecen la mejor mez-
cla de alto desempeño y flexibilidad en el diseño.

Agradecimientos

G. Saldaña-González agradece al CONACYT por su apoyo para la realización de


esta obra, ası́ como al Sistema Nacional de Investigadores (SNI), Mexico.

Referencias

1. K. R. Castleman, Digital Image Processing, 2nd. Edition, Prentice Hall, New Jersey 1996.
2. K. Compton and S. Hauck, “Reconfigurable Computing: A Survey of Systems and Software”,
ACM Computing Surveys, Vol. 34, no. 2, pp. 171-210, June 2002.
3. E. R. Davies, Machine Vision : Theory, Algorithms, Practicalities, 3er. Edition, Morgan Kauf-
mann, USA 2004.
248 G. Saldaña-González

4. A. DeHon and J. Wawrzynek, “Reconfigurable Computing: What, Why, and Implications for
Design Automation”, Proceedings of the 1999 IEEE Design Automation Conference, pp. 610-
615, June 1999.
5. J. G. Eldredge and B. L. Hutchings, “Run-Time Reconfiguration: A Method for Enhancing
the Functional Density of SRAM-Based FPGAs”, Journal of VLSI Signal Processing, Vol.
12, no. 1, pp. 67-86, January 1996.
6. R. C. González and R. E. Woods, Tratamiento Digital de Imágenes, 1a. Edition, Addison-
Wesley, Delaware 1996.
7. Berthold K. P. Horn, Robot Vision, The MIT Press, 1986.
8. J. R. Parker, Algorithms for Image Processing and Computer Vision, Wiley, USA 1996.
9. G. X. Ritter and J. N. Wilson, Handbook of Computer Vision Algorithms in Image Algebra,
CRC Press, USA 2000.
10. G. Saldaña-González and M. Arias-Estrada, “Compact FPGA-based Systolic Array Architec-
ture Suitable for Vision Systems”, International Journal of High Performance Systems Archi-
tecture, Vol 1, no. 2, pp. 124-132, October 2007.
11. L. G. Shapiro and G. Stockman, Computer Vision, Prentice-Hall, USA 2001.
12. S. E. Umbaugh, Computer Imaging: Digital Image Analysis and Processing, CRC Press, USA
2005.
13. Xilinx, url: http://www.xilinx.com, 2008.
Capı́tulo 8
Nuevas Heurı́sticas Inspiradas en la Naturaleza
para Optimización Numérica

E. Mezura-Montes, O. Cetina-Domı́nguez y B. Hernández-Ocaña

Resumen En este capı́tulo se presenta una introducción a las heurı́sticas inspiradas


en fenómenos de forrajeo. Se presenta un panorama general de este tipo de pro-
puestas para resolver problemas de optimización y posteriormente se introducen
sus elementos principales. Después de ello, dos algoritmos bio-inspirados son de-
tallados: La Colonia Artificial de Abejas (ABC) y la versión mejorada de la Opti-
mización Mediante el Forrajeo de Bacterias (MBFOA). Se explica la forma en que
ambos algoritmos representan las soluciones de un problema, la manera de escoger
las mejores soluciones para guiar a las demás en el proceso de búsqueda, los ope-
radores que permiten generar nuevas soluciones a partir de las ya existentes y los
mecanismos de eliminación para mantener aquellas soluciones más competitivas. El
uso de ejemplos numéricos sencillos apoyan el entendimiento de ambos algoritmos
que, en esencia, son muy simples de implementar y usar.

8.1. Introducción

Dentro del quehacer humano se encuentra la resolución de problemáticas com-


plejas. Entre ellas, se encuentran los problemas de optimización, que consisten en
buscar, en un conjunto de soluciones posibles para el problema en cuestión, aquella

E. Mezura-Montes, O. Cetina-Domı́nguez
Laboratorio Nacional de Informática Avanzada (LANIA A.C.)
Rébsamen 80, Centro, Xalapa, Veracruz, 91000 MEXICO
e-mail: emezura@lania.mx, omarcetina@hotmail.com
B. Hernández-Ocaña
Universidad Juárez Autónoma de Tabasco
División Académica de Informática y Sistemas
Km. 1 Carr. Cunduacán-Jalpa de Méndez
e-mail: betania h o@hotmail.com

249
250 E. Mezura-Montes et al.

que satisfaga de mejor manera una serie de condiciones planteadas. Los problemas
de optimización pueden clasificarse en dos tipos:
1. Problemas de optimización numérica: Se busca un conjunto de valores para
las variables del problema de manera que al sustituirse en la función objetivo
se maximice o minimice el valor de esta función. Un ejemplo de este problema
puede ser el diseño de una pieza mecánica donde se buscan valores óptimos de
sus dimensiones para minimizar su costo de fabricación.
2. Problemas de optimización combinatoria: Se busca encontrar el ordenamiento
de un conjunto de elementos de manera que se maximice o minimice el valor
de la función objetivo. Un ejemplo de este tipo de problemas es el del agente
viajero, que debe recorrer un conjunto de ciudades, pasando por ellas sólo una
vez, de manera que regrese a su punto de salida y se minimice el costo del viaje.
Aquı́ se desea encontrar el orden óptimo de recorrido de las ciudades.
Este capı́tulo se centra en el primer tipo de problemas, conocido como el pro-
blema general de programación no lineal, que se define, sin pérdida de generalidad,
como: Encontrar x que minimiza
f (x) (8.1)
sujeta a:

gi (x) ≤ 0, i = 1, . . . , m (8.2)

h j (x) = 0, j = 1, . . . , p (8.3)
n
]T
donde x ∈ IR es un vector de n variables de decisión x = [x1 , x2 , . . . , xn y cada
xi , i = 1, ..., n está acotado por lı́mites inferiores y superiores Li ≤ xi ≤ Ui , los
cuales definen el espacio de búsqueda S , F es el conjunto de todas las soluciones
que satisfacen las restricciones del problema y se le llama zona factible, siendo claro
que F ∈ S , m es el número de restricciones de desigualdad y p es el número de
restricciones de igualdad. Las restricciones y la función objetivo pueden ser lineales
y no lineales.
En este problema se pretende encontrar una solución que minimice una cierta
medida de calidad, conocida como función objetivo (8.1) que además debe satis-
facer un conjunto de restricciones asociadas al problema (8.2)-(8.3). Detallando el
ejemplo propuesto anteriormente sobre el diseño de la pieza mecánica, se quiere
encontrar su costo mı́nimo de construcción, el cual se modela mediante una fun-
ción (no lineal tal vez) y que depende de variables como el largo y el ancho de la
pieza, ası́ como el grosor del material. Además, pueden existir restricciones de es-
pacio, de manera que la pieza no puede ser ni muy grande ni muy chica, pues debe
incorporarse a un mecanismo más grande.
8. Nuevas Heurı́sticas para Optimización Numérica 251

8.1.1. Técnicas de optimización

La Investigación de Operaciones (IO) es el área dentro de las matemáticas de-


dicada al estudio, entre otros temas, de técnicas para la resolución de problemas
de optimización. La IO plantea la determinación del mejor curso de acción de un
problema de decisión con la restricción de productos limitados [1]. Deb [2] clasifi-
ca las técnicas para resolver problemas de optimización numérica en las siguientes
categorı́as:
1. Métodos tradicionales
Técnicas de variable simple: Divididas en métodos directos (utilizan la fun-
ción a optimizar para guiar la búsqueda) y de gradiente (utilizan información
del gradiente para guiar la búsqueda).
Técnicas multivariable: Divididas en métodos directos y de gradiente. Reali-
zan búsquedas en múltiples dimensiones, valiéndose, en ocasiones, de técni-
cas de variable simple.
Técnicas para problemas con restricciones: Realizan búsquedas en espacios
restringidos, usualmente utilizando técnicas multivariable y/o de variable sim-
ple de manera iterativa.
Técnicas especializadas: Métodos para problemas particulares como progra-
mación entera (variables que sólo toman valores enteros).
2. Métodos no tradicionales. Métodos que incorporan conceptos heurı́sticos para
mejorar la búsqueda.
Este capı́tulo se centrará precisamente en dos propuestas novedosas que for-
man parte de los métodos no tradicionales para resolver problemas de optimización
numérica.

8.1.2. Métodos no tradicionales (heurı́sticas)

Dada la existencia de múltiples formas de resolver el problema de optimización


numérica en su forma más general, una pregunta justa es ¿Por qué recurrir a métodos
no tradicionales? La justificación para utilizar métodos heurı́sticos puede basarse en
las caracterı́sticas de los problemas del mundo real, que pueden ser tan particulares
que hacen difı́cil (y a veces imposible) el aplicar los métodos tradicionales en su
resolución. Por otro lado, existen problemas donde estos métodos pueden ser apli-
cados, sin embargo los resultados y/o el tiempo requerido para obtener una solución
no son los esperados por quien resuelve el problema. Se pueden distinguir fuentes
de dificultad al tratar de resolver problemas de optimización [3]:
El número de posibles soluciones (espacio de búsqueda) es demasiado grande.
El problema es tan complicado que, con la intención de obtener alguna solución,
se deben utilizar modelos simplificados del mismo y por ende la solución es poco
útil.
252 E. Mezura-Montes et al.

La función de evaluación que describe la calidad de cada solución en el espacio


de búsqueda varı́a con el tiempo y/o tiene ruido.
Las soluciones posibles están altamente restringidas, lo cual dificulta incluso la
generación de al menos una solución factible (es decir, que cumpla con las res-
tricciones del problema).
Los métodos tradicionales siempre deben considerarse como la primera opción
para resolver un problema de optimización, dado que pueden garantizar la conver-
gencia al óptimo global (la mejor de todas las posibles soluciones) bajo ciertas
condiciones. Sin embargo, si la aplicación del método tradicional es compleja, el
costo computacional es alto y/o los resultados son buenos pero no los esperados
(óptimas locales, soluciones buenas en una cierta zona del espacio de búsqueda,
pero que no son mejores que el óptimo global), entonces puede considerarse el uso
de un método no tradicional, una heurı́stica.
Los métodos heurı́sticos no pueden garantizar el encontrar la mejor solución de
un problema, sin embargo, devolverán una solución aceptable en un tiempo razona-
ble; de ahı́ la importancia de su estudio. De hecho, existe en la literatura especiali-
zada una gran cantidad de publicaciones donde se destacan casos de éxito del uso
de métodos no tradicionales en la solución de problemas complejos [4, 5, 6].
Heurı́sticas con probado éxito en la resolución de problemas numéricos y com-
binatorios son, por ejemplo, el recocido simulado [7], que basa su funcionamien-
to en el proceso fı́sico del tratamiento térmico de materiales, donde el material
es calentado inicialmente a altas temperaturas y después, mediante una variación
de temperatura muy puntual, es enfriado. La intención es que el material obtenga
caracterı́sticas particulares en el proceso. Esta idea ha sido utilizada para resolver
problemas de optimización (numérica principalmente) agregando una temperatura
inicial y un horario de enfriamiento que permite disminuirla gradualmente de ma-
nera que el algoritmo de búsqueda seleccione una nueva solución aunque no mejore
el valor de calidad de la solución que se tenga en ese momento. Con ello, se agrega
un aspecto estocástico al proceso de búsqueda con la intención de evitar óptimos
locales. Otra heurı́stica, que en su propuesta original no agrega aspectos aleatorios,
pero que pueden ser incluidos, es la Búsqueda Tabú [8], la cual utiliza una “memo-
ria” para almacenar movimientos (soluciones) previamente realizados (encontradas)
y evitar realizarlos (recorrerlas) de nuevo. Las estructuras de memoria pueden tener
diferente vigencia (corto, mediando o largo plazo) dependiendo de la complejidad
del problema a resolver. De ahı́ que la implementación de la Búsqueda Tabú puede
requerir de mecanismos adicionales de búsqueda y estructuras de datos adecuadas
para realizar un recorrido eficaz y eficiente de la memoria y evitar que este manejo
sea aún más costoso que la optimización misma. La búsqueda Tabú se ha aplicado
principalmente en problemas de optimización combinatoria.
Dentro de los métodos heurı́sticos (o no tradicionales) se tiene un grupo que
basa su funcionamiento en fenómenos “inteligentes” encontrados en la naturaleza
y conocidos como heurı́sticas bio-inspiradas [9] o algoritmos bio-inspirados. Dos
sub-grupos se distinguen de acuerdo con el tipo de fenómeno natural en el que se
basan:
8. Nuevas Heurı́sticas para Optimización Numérica 253

1. Algoritmos evolutivos [10]


2. Inteligencia colectiva [9]
Los algoritmos evolutivos basan su funcionamiento en la teorı́a de la evolución
de las especies, la supervivencia del más apto y la transmisión de caracterı́sticas de
padres a hijos [11]. Por otro lado, la inteligencia colectiva toma comportamientos
de seres vivos que interactuan de manera local con su ambiente, y de esa interacción
surgen comportamientos sociales que permiten a estos seres, simples de manera
individual, resolver problemáticas complejas de manera conjunta (parvadas de aves,
bancos de peces, cúmulos de insectos, hormigas, bacterias, entre otros) [9].
En este capı́tulo se analizarán dos heurı́sticas bio-inspiradas basadas en inteligen-
cia colectiva:
1. La colonia artificial de abejas.
2. La optimización mediante el forrajeo de bacterias.
Este capı́tulo está organizado como sigue: En la Sección 8.2 se presentan los
componentes de un algoritmo bio-inspirado. Posteriormente la Sección 8.3 presenta
a la colonia artificial de abejas y la optimización mediante el forrajeo de bacterias
se detalla en la Sección 8.4. Finalmente, las conclusiones se resumen en la Sección
8.5.

8.2. Componentes de un algoritmo bio-inspirado

Los algoritmos evolutivos y de inteligencia colectiva, de manera general, trabajan


de la siguiente manera, véase la Figura 8.1:
1. Generar un conjunto (población) de soluciones (individuos) al problema.
2. Evaluar cada solución en la función objetivo a optimizar (8.1).
3. Seleccionar las mejores soluciones de la población con base en su valor en la
función objetivo (8.1).
4. Generar nuevas soluciones a partir de las mejores soluciones utilizando operado-
res de variación.
5. Evaluar las nuevas soluciones.
6. Escoger las soluciones que formarán parte de la siguiente iteración (generación).
Aunque existen diferencias especı́ficas entre los diversos algoritmos evolutivos y
aquellos de inteligencia colectiva, tienen componentes comunes, los cuales se enu-
meran a continuación:
Representación de soluciones: Las soluciones se pueden representar de diferen-
tes formas (cadenas binarias, números enteros). Para el caso de la optimización
numérica, la representación más adecuada es utilizar números reales, puesto que
las variables en este tipo de problemas suelen tomar precisamente este tipo de
valores. Por ende, cada solución consistirá de un vector de números reales.
254 E. Mezura-Montes et al.

Mecanismo de selección: La guı́a de la búsqueda se realiza mediante este


mecanismo o en el reemplazo (explicado más adelante). La intención es escoger
un subconjunto de soluciones de la población que tengan caracterı́sticas sobre-
salientes, de manera que puedan generar nuevas soluciones aún mejores. El crite-
rio para escoger depende del valor de la función objetivo (8.1) de cada solución.
Operadores de variación: Los operadores de variación son los que permiten
generar nuevas soluciones a partir de las soluciones existentes (aquellas escogi-
das con los mecanismos de selección). Los operadores emulan comportamientos
como la reproducción (cruzas), variaciones aleatorias a nivel genético (muta-
ciones) o movimientos cooperativos (giros, nados, vuelos).
Mecanismos de reemplazo: Una vez que se tienen, tanto al conjunto de solu-
ciones actuales además de las recién generadas, se utilizan mecanismos para es-
coger aquellas que formarán parte de la población para la siguiente generación.
Este proceso puede basarse en la calidad de cada solución (8.1), en la “edad” de
las soluciones, o tomando en cuenta aspectos estocásticos.

Inicio Poblacion Fin

Seleccion

Reemplazo Soluciones
seleccionadas

Nuevas Operadores
Soluciones de variacion

Figura 8.1 Esquema general de un algoritmo bio-inspirado.

Con base en los componentes antes descritos se presentarán dos algoritmos


heurı́sticos de la inteligencia colectiva: La Colonia Artificial de Abejas (ABC) y
la Optimización Mediante el Forrajeo de Bacterias (BFOA).

8.3. La colonia artificial de abejas

El proceso de búsqueda de néctar en las flores por parte de abejas melı́feras ha


sido visto como un proceso de optimización. La forma en la que este tipo de insectos
sociales logran centrar esfuerzos en zonas con altas cantidades de fuentes de alimen-
to se ha modelado como una heurı́stica para optimización. A pesar de que existen
diversos modelos basados en abejas [12], para efectos de este trabajo la explicación
8. Nuevas Heurı́sticas para Optimización Numérica 255

se basará en el modelo propuesto por Karaboga [13] que resuelve problemas de op-
timización numérica mediante dos comportamientos: El reclutamiento de abejas en
una fuente de alimento y el abandono de una fuente.
El modelo biológico de recolección de alimento en abejas melı́feras consta de los
siguientes elementos mı́nimos [13]:
Fuentes de alimento: El valor de una fuente de alimento depende de muchos
factores, como lo son la cercanı́a a la colmena, la concentración de alimento y la
facilidad para extraerlo. Por simplicidad es posible representar la rentabilidad de
una fuente en un solo valor numérico.
Recolectoras empleadas: Estas abejas están asociadas con una fuente particular
de alimento la cual están explotando, es decir, están empleadas para con ella. Las
abejas empleadas comparten la información sobre su fuente de alimento, como
la ubicación y rentabilidad hacia las abejas recolectoras.
Recolectoras desempleadas: Están constantemente buscando una fuente de ali-
mento a la cual explotar. Hay dos tipos de recolectora desempleada: la explo-
radora, que busca en las cercanı́as de la colmena por nuevas fuentes de alimento
y la observadora, que espera en la colmena y elige una fuente de alimento con
base en la información compartida por una recolectora empleada.
La información sobre las fuentes de alimento es compartida por las recolectoras
empleadas por medio de una danza cuya duración indica la rentabilidad de la fuente,
el ángulo con respecto al sol indica la dirección de la fuente y el número de movi-
mientos en zig-zag durante la danza indica la distancia. Dado que las danzas de las
fuentes más rentables son de mayor duración, existe una mayor probabilidad de ser
observada por recolectoras desempleadas, aumentando la probabilidad de que una
recolectora elija dicha fuente de alimento.
Cuando una fuente de alimento se agota, la abeja o abejas empleadas en ellas se
convierten en abejas desempleadas y tendrán que decidir entre convertirse en abejas
exploradoras o regresar a la colmena como abejas observadoras.
En el algoritmo ABC la colonia de abejas artificiales se compone también de 3
grupos de abejas: abejas empleadas, abejas observadoras y abejas exploradoras. El
número de abejas empleadas es usualmente igual al número de fuentes de alimen-
to y se asignará una abeja empleada a cada una de las fuentes. Al llegar a dicha
fuente, la abeja calculará una nueva solución (volará hacia otra fuente de alimento
cercana) a partir de ésta y conservará la mejor solución. El número de abejas obser-
vadoras es también usualmente igual al de abejas empleadas y se asignarán a una
fuente de alimento con base en la aptitud de éstas, al igual que las abejas empleadas,
calculará una nueva solución a partir de su fuente de alimento. Cuando una fuente
no mejora después de un cierto número de iteraciones se abandona, siendo reem-
plazado por aquella encontrada por una abeja exploradora, lo cual implica calcular
una nueva solución aleatoriamente. Una de las ventajas de este algoritmo es el bajo
número de parámetros que requiere como puede verse en la Tabla 8.1.
256 E. Mezura-Montes et al.

Nombre Sı́mbolo Descripción


Número de soluciones SN Número de soluciones (fuentes de alimento)
Número de ciclos MCN Número total de ciclos (iteraciones) que ejecu-
tará el ABC
Lı́mite limit Número de ciclos que se conservará una solución
sin mejora antes de ser reemplazada por una nueva
generada por una abeja exploradora

Tabla 8.1 Parámetros del ABC.

8.3.1. Elementos del ABC

8.3.1.1. Representación de soluciones

La representación de las soluciones se lleva a cabo mediante fuentes de alimento,


que no son más que vectores de D-dimensiones (donde D es el número de variables
del problema). La representación gráfica se muestra en la Figura 8.2 y la repre-
sentación vectorial de la solución i en el ciclo g es la presentada en (8.4):

xi,g , i = 1, . . . , SN, g = 1, . . . , MCN (8.4)

2.1 2.9 10.1 7.0


Figura 8.2 Representación de una solución asumiendo 4 variables con números reales.

Cada una de las variables que forma parte de la solución está asociada a un rango
(Li ≤ xi ≤ Ui ), el cual se debe de tomar en cuenta al momento de generar de ma-
nera aleatoria, con una distribución uniforme, las soluciones (fuentes de alimento)
iniciales.

8.3.1.2. Mecanismos de selección

La forma en que se seleccionan las mejores soluciones es mediante la comu-


nicación entre abejas empleadas y abejas observadoras, de manera que aquellas
fuentes de comida con mejor calidad serán más visitadas. El detalle de este fun-
cionamiento se verá más adelante.
8. Nuevas Heurı́sticas para Optimización Numérica 257

8.3.1.3. Operadores de variación (las abejas)

En el ABC, las abejas son vistas como operadores de variación, pues cuando una
de ellas llega a una fuente de alimento, calcula una nueva solución candidata vi,g
utilizando la fórmula dada en (8.5). En donde xi,g representa la solución en la que
la abeja se encuentra en ese momento, xk,g es una fuente de alimento aleatoria (y
distinta de xi,g ), g es el número de ciclo actual del programa y φ es un número real
aleatorio en el intervalo [-1,1].
¡ ¢
vi,g = xi,g + φ · xi,g − xk,g (8.5)
En la Figura 8.3 puede verse un ejemplo gráfico de este cálculo. En primer lugar
se observa en la Figura 8.3(a) el vector que es generado mediante la diferencia entre
xi y xk . Posteriormente se genera la solución candidata utilizando (8.5) en la Figura
8.3(b). Se nota que v y v0 se generaron utilizando el mismo valor de φ pero con signo
opuesto. Ésto es posible porque el intervalo de φ lo permite ([-1,1]).

Y Y

xk xk

xi− xk v
xi
xi
v’

X X

(a) (b)

Figura 8.3 (a) El vector generado por la diferencia entre xi y xk . (b) Dos posibles soluciones
candidatas generadas utilizando (8.5) y el mismo valor φ con signo opuesto.

8.3.1.4. Mecanismos de reemplazo

La forma de eliminar soluciones (fuentes de comida) es mediante las abejas ex-


ploradoras, que dado el abandono de fuentes de comida no mejoradas en varios ci-
clos del algoritmo, generan nuevas fuentes de comida de manera totalmente aleato-
ria.
258 E. Mezura-Montes et al.

8.3.2. Pasos del algoritmo ABC

A continuación se detalla el funcionamiento del algoritmo ABC, que puede ob-


servarse en la Figura 8.4. Se comienza inicializando las soluciones que represen-
tarán las fuentes de alimento iniciales, siendo SN el número de soluciones (uno de
los parámetros del algoritmo). Se evalúan estas soluciones y se procede con un ciclo
que se repetirá MCN veces, dónde MCN es el número de ciclos máximo. Dentro de
este ciclo se comienza con enviar a las abejas empleadas a las fuentes de alimento
y calcular nuevas soluciones candidatas utilizando (8.5), posteriormente se utiliza
una selección ambiciosa en la cual se conserva la mejor solución entre la fuente de
alimento y su respectiva solución candidata.
Con base en la aptitud de las fuentes de alimento que se conserven después del
paso anterior se determina cuáles soluciones serán visitadas por abejas observado-
ras. Las abejas observadoras visitarán estas soluciones y generarán soluciones can-
didatas utilizando (8.5). Posteriormente se realizará una selección ambiciosa entre
las soluciones candidatas y la solución respectiva (de manera similar que con las
abejas empleadas).

1 Begin
2 Inicializar la población de soluciones xi,0 , i = 1, . . . , SN
3 Evaluar la población
4 g=1
5 Repeat
6 Producir nuevas soluciones vi,g para las abejas empleadas
utilizando (8.5) y evaluarlas
7 Conservar la mejor solución entre la actual y la candidata
8 Seleccionar las soluciones que serán visitadas por una abeja
observadora según su aptitud
9 Producir nuevas soluciones vi,g para las abejas observadoras
utilizando (8.5) y evaluarlas
10 Conservar la mejor solución entre la actual y la candidata
11 Determinar si existe una fuente abandonada y reemplazarla
utilizando una abeja exploradora
12 Memorizar la mejor solución encontrada hasta este momento
13 g = g+1
14 Until g = MCN
15 End

Figura 8.4 Algoritmo Colonia Artificial de Abejas (ABC).

Posteriormente se determina si existe alguna solución abandonada; ésto sucede


cuando una solución no es mejorada (no es reemplazada por una solución candida-
ta), durante el número de ciclos establecido por la variable Lı́mite. Lı́mite esta dada
por la fórmula (SN ∗ D) donde SN es el número de soluciones y D es el número
de variables del problema. De encontrarse alguna fuente abandonada se reemplaza
8. Nuevas Heurı́sticas para Optimización Numérica 259

con una nueva encontrada por una abeja exploradora, que en este caso es una nueva
solución calculada aleatoriamente dentro del espacio de búsqueda.
Finalmente la mejor solución encontrada durante el ciclo se compara con la mejor
solución en memoria y si tiene una mejor aptitud la reemplazará. Se repite el ciclo
MCN veces.

8.3.3. Ejemplo de funcionamiento

A continuación se presenta un ejemplo de funcionamiento del ABC aplicado a


una función conocida como la esfera, detallada en (8.6):

Minimizar: f (x1 , x2 ) = x12 + x22 (8.6)

Los intervalos para las variables se muestran en (8.7):

−5 ≤ x1 ≤ 5
−5 ≤ x2 ≤ 5 (8.7)
x1 , x2 ∈ R
Los valores de los parámetros del ABC para este ejemplo se muestran en la Tabla
8.2.

Parámetro Valor
SN 5
MCN 2
limit 10

Tabla 8.2 Parámetros de ABC empleados en la función de la esfera.

Siguiendo el algoritmo mostrado en la Figura 8.4, primero se inicializa el conta-


dor de generaciones con el valor de 0, posteriormente se crea población inicial de
manera aleatoria (la cual está dentro del rango especificado en la Tabla 8.2) y se
muestra en la Tabla 8.3.

Fuente x1 x2 f (xi )
1 (x1,0 ) 0.5 0.3 0.34
2 (x2,0 ) -0.2 0.1 0.05
3 (x3,0 ) -0.4 -0.7 0.65
4 (x4,0 ) 0.2 0.05 0.0425
5 (x5,0 ) 0.1 0.9 0.82

Tabla 8.3 Población inicial, el valor de la función para cada individuo se encuentra en la cuarta
columna.
260 E. Mezura-Montes et al.

Posteriormente se tiene que evaluar cada una de las fuentes de alimento en la


función objetivo. Estos valores se muestran en la cuarta columna de la Tabla 8.3.
Se inician ahora los ciclos del algoritmo donde el primer paso es enviar las abejas
empleadas a las fuentes de alimento y generar nuevas soluciones candidatas, para
ello se utilizan los siguientes valores aleatorios que pueden verse en la Tabla 8.4.

Empleada k φ1 φ2
1 3 -0.1 0.2
2 1 0.2 0.5
3 5 0.7 -0.3
4 2 -0.5 0.7
5 1 0.3 -0.1

Tabla 8.4 Valores aleatorios para las abejas empleadas en el ciclo 1.

Para la primera abeja empleada se calcula la nueva solución candidata utilizando


la fórmula definida por el algoritmo (8.5) v11 = (0.5) + (−0.1 ∗ (0.5 − (−0.4))) =
0.41 y de la misma forma v12 = (0.3) + (0.2 ∗ (0.3 − (−0.7))) = 0.5, resultando en
un valor de la función objetivo de 0.4181.
Para la abeja empleada 2 se tiene v21 = (−0.2) + (0.2 ∗ (−0.2 − (0.5))) = −0.34
y v22 = (0.1) + (0.5 ∗ (0.1 − (0.3))) = 0 y un valor de la función objetivo de 0.1156.
Para la abeja empleada 3 se tiene v31 = (−0.4) + (0.7 ∗ (−0.4 − (0.1))) = −0.75
y v32 = (−0.7) + (−0.3 ∗ (−0.7 − (0.9))) = −0.22 y un valor de la función objetivo
de 0.6109.
Para la abeja empleada 4 se tiene v41 = (0.2) + (−0.5 ∗ (0.2 − (−0.2))) = 0 y
v42 = (0.05) + (0.7 ∗ (0.05 − (0.1))) = 0.015 y un valor de la función objetivo de
0.000225.
Para la abeja empleada 5 se tiene v51 = (0.1) + (0.3 ∗ (0.1 − (0.5))) = −0.02
y v52 = (0.9) + (−0.1 ∗ (0.9 − (0.3))) = 0.84 y un valor de la función objetivo de
0.706.
Se compara el valor de la fuente de alimento con el de la solución candidata
calculada a partir de ella y se conserva la mejor solución, quedando por lo tanto
como soluciones hasta el momento los que se muestran en la Tabla 8.5.

Fuente x1 x2 f (x)
1 (x1,1a ) 0.5 0.3 0.34
2 (x2,1a ) -0.2 0.1 0.05
3 (x3,1a ) -0.75 -0.22 0.6109
4 (x4,1a ) 0 0.015 0.000225
5 (x5,1a ) -0.02 0.84 0.706

Tabla 8.5 Fuentes de alimento después de la primera ronda de abejas empleadas.

El siguiente paso es enviar las abejas observadoras a las mejores fuentes de ali-
mento (con base en su aptitud), utilizando algún mecanismo de selección propor-
8. Nuevas Heurı́sticas para Optimización Numérica 261

cional. Por motivos de simplicidad, para este ejemplo se determinó enviar tres abe-
jas observadoras a la mejor solución (fuente de alimento 4) y las dos restantes a la
segunda mejor (fuente 2). Los valores aleatorios para calcular las soluciones candi-
datas pueden verse en la Tabla 8.6.

Observadora Fuente elegida k φ1 φ2


1 4 3 0.2 -0.15
2 4 2 -0.16 0.2
3 4 5 -0.3 0.12
4 2 4 0.23 -0.02
5 2 1 -0.1 0.3

Tabla 8.6 Valores aleatorios para las abejas observadoras en el ciclo 1.

Se calculan las soluciones candidatas para las abejas observadoras a partir de


la fuente seleccionada. Para la observadora 1 v11 = 0.1725, v12 = 0.0103 y f (x) =
0.02986234. La observadora 2 v21 = 0.046, v22 = 0.0167 y f (x) = 0.00239489. Para
la observadora 3 v31 = 0.0046, v32 = 0.0315 y f (x) = 0.00101341. En la observado-
ra 4 encontramos v41 = −0.168, v42 = 0.117 y f (x) = 0.041913. Para la observadora
5 v51 = −0.088, v52 = 0.06 y f (x) = 0.011344.
Se verifica si alguna de las soluciones candidatas mejora su respectiva fuente
de alimento. Ésto sucede para la abeja observadora 5 y la fuente de alimento 2.
Realizando el reemplazo las fuentes de alimento al final del ciclo 1 quedan como se
muestra en la Tabla 8.7.

Fuente x1 x2 f (x)
1 (x1,1 ) 0.5 0.3 0.34
2 (x2,1 ) -0.088 0.06 0.011344
3 (x3,1 ) -0.75 -0.22 0.6109
4 (x4,1 ) 0 0.015 0.000225
5 (x5,1 ) -0.02 0.84 0.706

Tabla 8.7 Fuentes de alimento después de la primera ronda de abejas observadoras.

El ciclo 2 inicia con el cálculo de soluciones candidatas para cada fuente de


alimento, es decir, con las abejas empleadas. A continuación se presenta la tabla
con los valores aleatorios utilizados para el cálculo en la Tabla 8.8.
La empleada 1 da los siguientes resultados v11 = 0.5588, v12 = 0.084 y f (x) =
0.31931344. La empleada 2: v21 = −0.0616, v22 = 0.07125 y f (x) = 0.008871123.
Empleada 3: v31 = −1.042, v3,2 = 0.0662 y f (x) = 1.09014644. Empleada 4: v41 =
−0.0044, v42 = 0.006 y f (x) = 5.536E-05. Empleada 5: v51 = 0.199, v52 = 0.734 y
f (x) = 0.578357.
Las fuentes de alimento que son mejoradas por una solución candidata son reem-
plazadas y se presentan los resultados a continuación en la Tabla 8.9.
262 E. Mezura-Montes et al.

Empleada k φ1 φ2
1 2 0.1 -0.9
2 4 -0.3 0.25
3 5 0.4 -0.27
4 2 -0.05 0.2
5 3 0.3 -0.1

Tabla 8.8 Valores aleatorios para las abejas empleadas en el ciclo 2.

Fuente x1 x2 f (x)
1 (x1,2a ) 0.5588 0.084 0.31931344
2 (x2,2a ) -0.0616 0.07125 0.008871123
3 (x3,2a ) -0.75 -0.22 0.6109
4 (x4,2a ) -0.0044 0.006 5.536E-05
5 (x5,2a ) 0.199 0.734 0.578357

Tabla 8.9 Fuentes de alimento después de la segunda ronda de abejas empleadas.

Para las abejas observadoras nuevamente se utilizan tres abejas en la mejor solu-
ción (fuente 4) y dos abejas en la segunda mejor (fuente 2) con la intención de re-
presentar una selección proporcional con base en la aptitud de la fuente de alimento.
Los valores aleatorios utilizados se muestran en la Tabla 8.10.

Observadora Fuente elegida k φ1 φ2


1 4 1 0.2 -0.15
2 4 2 -0.51 0.2
3 4 3 -0.3 0.12
4 2 5 0.01 0.9
5 2 4 -0.1 0.3

Tabla 8.10 Valores aleatorios para las abejas observadoras en el ciclo 2.

Se calculan las soluciones candidatas para las abejas observadoras a partir de


la fuente seleccionada. Para la observadora 1 v11 = −0.010032, v12 = −0.0642
y f (x) = 0.004222281. La observadora 2 v21 = −0.003828, v22 = −0.052725
y f (x) = 0.002794579. Para la observadora 3 v31 = 0.003056, v32 = 0.2094 y
f (x) = 0.043857699. En la observadora 4 se tiene v41 = 0.071306, v42 = −0.0613
y f (x) = 0.008842236. Para la observadora 5 v51 = −0.032428, v52 = 0.0843 y
f (x) = 0.008158065.
Se verifica si alguna solución candidata mejora una fuente de alimento y es claro
que ésto se cumple con la observadora 5 y la fuente de alimento 2, después de
realizar el reemplazo el resultado final después del ciclo 2 se presenta a continuación
en la Tabla 8.11
La solución a reportar será la fuente 4, con x1 = −0.0044, x2 = 0.006 y f (x) =
5.536E-05
8. Nuevas Heurı́sticas para Optimización Numérica 263

Fuente x1 x2 f (x)
1 (x1,2 ) 0.5588 0.084 0.31931344
2 (x2,2 ) -0.032428 0.0843 0.008158065
3 (x3,2 ) -0.75 -0.22 0.6109
4 (x4,2 ) -0.0044 0.006 5.536E-05
5 (x5,2 ) 0.199 0.734 0.578357

Tabla 8.11 Fuentes de alimento después de la segunda ronda de abejas observadoras.

Como datos adicionales, el mı́nimo global de esta función se encuentra en el


punto [0,0], en donde f (x) = 0. En este ejemplo la variable lı́mite y las abejas ex-
ploradoras no fueron utilizadas ya que el número de ciclos era menor al valor de
lı́mite que está definido por el número de fuentes de alimento por el número de
variables del problema a resolver (5 ∗ 2 = 10).

8.4. Optimización mediante el forrajeo de bacterias (BFOA)

El BFOA original, fue propuesto por K.M. Passino [14], el cual simula el pro-
ceso completo de forrajeo de la bacteria E. Coli: Chemotaxis o paso quimiotáctico
(movimientos de giro y nado), reproducción y eliminación-dispersión. El modelado
de la búsqueda de alimento (concentración de nutrientes óptima) que realizan las
bacterias contempla las siguientes etapas:

Inicialmente, las bacterias son distribuidas al azar sobre el mapa de nutrientes.


En una primera etapa las bacterias (E. Coli) se mueven hacia los puntos de con-
centración de nutrientes (dentro de esta generación ocurre una eliminación y dis-
persión, algunas bacterias se encuentran en puntos malos (sustancias nocivas),
después ocurre la reproducción y posteriormente casi todas las bacterias se colo-
can en puntos de concentración de nutrientes.
En una segunda etapa las bacterias han encontrado los puntos de concentración
de nutrientes, aunque no todos estos puntos son óptimos, es decir, los más altos
de concentración de nutrientes. Sin embargo, se agrupan utilizando una comuni-
cación mediante segregación de atrayentes.
En una tercera etapa las bacterias encuentran el punto más alto de concentración
de nutrientes.
En una cuarta etapa las bacterias permanecen en ese punto y la búsqueda de
alimento ha terminado; se dispersan nuevamente y buscan una nueva fuente de
nutrientes (las etapas se repiten).

Durante estas etapas las bacterias se enfrentan a varias problemáticas en la


búsqueda de sus alimentos, por ejemplo: Ambientes nocivos que deben detectar
y evitar en su viaje pues causan la eliminación y dispersión (para ello estas bacterias
se agrupan y son capaces de producir y segregar sustancias quı́micas que son usadas
como mecanismos de señalización y comunicación entre ellas), el tiempo de vida de
264 E. Mezura-Montes et al.

las bacterias y finalmente el recorrido que tienen que hacer para encontrar el punto
óptimo de concentración de nutrientes, entre otros.
Debido a que el algoritmo de Passino (BFOA) requiere de muchos parámetros y
su costo computacional es alto, la versión modificada del BFOA, propuesta en [15]
y llamada MBFOA es la utilizada en este capı́tulo.

8.4.1. Elementos del MBFOA

8.4.1.1. Representación de soluciones

La representación de las soluciones, al igual que para el caso del ABC, se lleva
a cabo mediante vectores de números reales llamados bacterias y representados en
(8.8) por la letra θ , donde θ i ( j, G) representa la bacteria i, en su ciclo quimiotácti-
co j, en la generación G y Sb es el número total de bacterias en la población. La
representación gráfica es similar a la de las soluciones del ABC en la Figura 8.2.

θ i ( j, G), ∀i = 1, . . . , Sb (8.8)

8.4.1.2. Mecanismos de selección

Para el caso de las bacterias, el proceso de selección se realiza dentro del paso
quimiotáctico, donde cada bacteria se moverá de manera constante en una misma
dirección, generada de manera aleatoria, hacia una nueva posición siempre y cuando
sea de mejor calidad que la previa. A este proceso dentro del ciclo quimiotáctico se
le conoce como nado. Si al pasar a una nueva posición y ésta es de menor calidad,
la bacteria realizará un giro para buscar una nueva dirección de búsqueda siempre
buscando mejorar la calidad de su posición.

8.4.1.3. Operadores de variación

Existen dos operadores a utilizar en MBFOA, el nado-giro (mencionado ante-


riormente) y el swarming. El nado giro consiste en generar una dirección aleatoria
mediante un vector normalizado usando (8.9):

∆ (i)
φ (i) = p (8.9)
∆ (i)T ∆ (i)
donde ∆ (i) es un vector del mismo número de dimensiones que las variables del
problema a resolver y generado aleatoriamente con sus elementos dentro del inter-
valo: [−1, 1]. A este paso se le conoce como giro. Después de ello, cada bacteria
θ i ( j, G) modifica su posición mediante el nado como se indica en (8.10).
8. Nuevas Heurı́sticas para Optimización Numérica 265

θ i ( j + 1, G) = θ i ( j, G) +Cnew (i)φ (i) (8.10)


donde θ i ( j + 1, G) es la nueva posición de la bacteria i, θ i ( j, G) es la posición actual
de la bacteria i, φ (i) es el vector de dirección aleatoria calculado en (8.9) y Cnew (i)
es el tamaño de paso (la “longitud de movimiento” de la bacteria calculada mediante
(8.11)).
¡ √ ¢
Cnew (i) = R ∗ ∆ xi / n (8.11)
donde ∆ xi se calcula restando los lı́mites superior e inferior de cada variable i,
Ui − Li , n es el número de variables del problema y R es el porcentaje de este tamaño
de paso total a ser utilizado en el proceso de búsqueda (se sugiere 0.2 ≤ R ≤ 0.5.
Estos tamaños de paso permanecen constantes durante todo el funcionamiento del
algoritmo.
El nado, representado en (8.10), se repite Ns veces si la nueva posición es mejor
que la previa : f (θ i ( j + 1, G)) < f (θ i ( j, G)).
El operador de swarming se lleva a cabo cuando la mejor bacteria de la población
atrae hacia sı́ a las demás. Este proceso sucede a la mitad y al final de cada ciclo
quimiotáctico (en los restantes pasos se usa el nado-giro) utilizando (8.12).

θ i ( j + 1, G) = θ i ( j, G) + β (θ B (G) − θ i ( j, G)) (8.12)


donde θ i ( j + 1, G)
es la nueva posición de la bacteria i, θ B (G)
es la posición actual
de la mejor bacteria en la generación G y 0 ≤ β ≤ 1 es un factor de escalamiento
que determina qué tan cerca estará la bacteria i de la mejor bacteria B.

8.4.1.4. Mecanismos de reemplazo

En MBFOA se tienen dos etapas de eliminación de soluciones: En el momento


de la reproducción se mantiene sólamente a la mitad de la población de soluciones
y se elimina a la otra mitad, sustituyéndolas por copias de las mejores bacterias
(simulando la división de una bacteria en dos nuevas bacterias). Posteriormente, el
proceso de eliminación-dispersión elimina la peor bacteria de la población.

8.4.2. Pasos del algoritmo MBFOA

Dados los operadores y mecanismos de selección y reemplazo, los operadores


requeridos por MBFOA se resumen en la Tabla 8.12. Además, el pseudocódigo de
este algoritmo heurı́stico se encuentra en la Figura 8.5.
De acuerdo al pseudocódigo en la Tabla 8.5, se describe el proceso que se realiza
durante su ejecución al resolver un problema de optimización.

1. Se inicializan los parámetros del algoritmo (Tabla 8.12).


2. Se genera la población inicial aleatoria de bacterias θ i (0, 0)∀i, i = 1, ..., Sb .
266 E. Mezura-Montes et al.

Nombre Sı́mbolo Descripción


Bacterias Sb Número de bacterias en la población.
Generaciones GMAX Número de generaciones que se ejecutará
todo el procedimiento: Ciclo quimiotáctico, de
reproducción y eliminación-dispersión.
Ciclo quimiotáctico Nc Número de veces que cada bacteria en la
población podrá nadar o girar.
Reproducción Sr Número de bacterias a reproducirse.
Escalamiento β Factor de escalamiento que determina cuánto
avanzará una bacteria hacia la mejor bacteria
de la población.
Porcentaje del tamaño R Porcentaje del rango permitido para las
de paso variables que se usará como tamaño de paso.

Tabla 8.12 Parámetros del MBFOA.

Begin
Inicializar la población de soluciones (bacterias) θ i (0, 0) ∀i, i = 1, . . . , Sb
Evaluar la población de bacterias f (θ i (0, 0)) ∀i, i = 1, . . . , Sb
For G=1 to GMAX Do
For i=1 to Sb Do
For j=1 to Nc Do
Realizar el paso quimiotáctico (giro-nado y swarming)
para la bacteria θ i ( j, G) usando (8.10) y (8.12)
End For
End For
Realizar la reproducción eliminando las Sr peores
bacterias y duplicando cada una de las (Sb − Sr ) mejores bacterias
Eliminar la peor bacteria θ w ( j, G) en la población actual
End For
End

Figura 8.5 Algoritmo del MBFOA.

3. Se evalúa cada una de las bacterias f(θ i (0, 0))∀i, i = 1, ...Sb .


4. En cada generación, todas las bacterias llevarán a cabo su ciclo quimiotáctico Nc
veces. Se ejecutará la fase de reproducción y la de eliminación-dispersión.
5. En cada paso del ciclo quimiotáctico, las bacterias realizan su búsqueda, nadando
y avanzando hacia una nueva posición o girando porque su avance no fue favora-
ble en la búsqueda de nutrientes (el valor de la función objetivo no mejoró en el
nuevo punto al cual se habı́an dirigido). En ambos casos se utilizan (8.9) y (8.10).
6. En la parte intermedia y al final del ciclo quimiotáctico, en vez de realizar el nado
y giro, se utiliza el operador de swarming (8.12), favoreciendo la comunicación
entre bacterias y, a su vez, la convergencia del algoritmo.
7. A continuación se realiza el proceso de reproducción, en el cual se duplican a las
mejores Sr (usualmente la mitad) bacterias y se elimina al resto (la otra mitad).
8. Finalmente se realiza el proceso de eliminación-dispersión en el cual se elimina
únicamente a la peor bacteria de la población θ w ( j, G).
8. Nuevas Heurı́sticas para Optimización Numérica 267

8.4.3. Ejemplo de funcionamiento

Ahora, se presenta un ejemplo de funcionamiento del MBFOA aplicado al mismo


problema que el ABC, la función de la esfera detallada en (8.6) y (8.7).
Los valores de los parámetros de inicio del MBFOA se muestran en la Tabla 8.13.
De acuerdo al pseudocódigo del MBFOA, primero se crea una población de bacte-
rias de manera aleatoria, el número de bacterias es definido por Sb (dicha población
está dentro del rango especificado), ver Tabla 8.14. Posteriormente se calculan los
tamaños de paso utilizando (8.11), n = 2, R = 2.1E-2, L1 = L2 = −5 y U1 = U2 = 5,
dando como resultado Cnew (1) = Cnew (2) = 0.1485.

Parámetro Valor
Sb 3
Nc 3
GMAX 4
Sr 2
R 2.1E-2
β 0.44

Tabla 8.13 Parámetros del MBFOA empleados en la función de la esfera.

Bacteria θ1i (0, 0) = x1 θ2i (0, 0) = x2 f (θ i (0, 0))


1 -1.728921 0.564320 3.307624
2 1.595993 1.107934 3.774711
3 1.082393 1.011439 2.194583

Tabla 8.14 Población inicial, el valor de la función para cada bacteria se encuentra en la cuarta
columna.

A continuación, se tiene que evaluar cada una de las bacterias en la función ob-
jetivo, estos valores se muestran en la cuarta columna de la Tabla 8.14.
El siguiente paso consiste en inicializar el contador del número de generaciones
(G), el contador del número de bacterias Sb y el contador del número de iteraciones
del ciclo quimiotáctico Nc con el valor de 1. En el primer ciclo quimiotáctico, para
la bacteria 1 θ 1 ( j, G) se aplica el operador de nado-giro, (8.9) y (8.10), recordando
que a la mitad del ciclo quimiotáctico y al final del mismo se aplicará el swarming
(8.12). Supóngase que los valores que se emplean para la dirección aleatoria son
(8.9):

φ1 (1) = −0.289841
φ2 (1) = −0.029217
Se calcula la nueva posición de la bacteria 1 usando el operador de nado (8.9) de
la siguiente manera:
268 E. Mezura-Montes et al.

Nc = 1
θ11 (1, 1) = −1.728921 + (0.1485 ∗ −0.289841) = −1.77190
θ21 (1, 1) = 0.564320 + (0.1485 ∗ −0.029217) = 0.55998
A continuación se evalúa la calidad de la nueva posición de la bacteria 1, quedan-
do de la siguiente manera:

f (θ 1 (1, 1)) = (−1.77190)2 + (0.55998)2 = 3.45320


Ahora se determina si la bacteria continuará nadando en esa dirección definida
por φ (i) o si tendrá que girar, generando nuevos valores para φ (i). Observando la
función objetivo de la nueva posición de la bacteria 1 se nota que no se mejora
el valor actual de la misma (3.307624), por lo tanto, se deberá generar una nueva
dirección de búsqueda (un nuevo φ (i)) e intentar mejorar (nadar) en esa dirección.
Dado que en este ejemplo el valor para el ciclo quimiotáctico es de Nc =3, las
siguientes dos iteraciones se consideran la mitad y la final del proceso. Por ende,
se aplicará el operador de swarming (8.12). Con base en la población actual de
bacterias detallada en la Tabla 8.14, la mejor es la bacteria 3 (pues tiene el menor
valor para la función objetivo). Utilizando entonces el operador de swarming (8.12),
se genera una nueva posición para la bacteria 1 como sigue:
Nc = 2
θ11 (2, 1) = (−1.728921) + (0.44 ∗ (1.082393 − (−1.728921))) = −0.491942
θ21 (2, 1) = (0.564320) + (0.44 ∗ (1.011439 − (0.564320))) = 0.761052

A continuación se evalúa la nueva posición de la bacteria 1 después de acercarse


a la mejor bacteria en la población actual, quedando de la siguiente manera:

f (θ 1 (2, 1)) = (−0.491942)2 + (0.761052)2 = 0.821207


En esta ocasión la nueva posición es mejor que la previa, por lo que la bacteria
asumirá esta nueva posición y eliminará la anterior.
Para el tercer paso del ciclo quimiotáctico de la bacteria 1, se aplica de nuevo el
operador de swarming (8.12).
Nc = 3
θ11 (3, 1) = (−0.491942) + (0.44 ∗ (1.082393 − (−0.491942))) = 0.200765
θ21 (3, 1) = (0.761052) + (0.44 ∗ (1.011439 − (0.761052))) = 0.871222
Se evalúa la nueva posición de la bacteria 1:
f (θ 1 (3, 1)) = (0.200765)2 + (0.871222)2 = 0.799334
Dada la nueva mejora de la posición con respecto a la previa (0.799334 <
0.821207). La bacteria tomará esta nueva posición:
θ11 (3, 1) = 0.200765
θ21 (3, 1) = 0.871222
f (θ 1 (3, 1)) = 0.799334
8. Nuevas Heurı́sticas para Optimización Numérica 269

Los cálculos para el ciclo quimiotáctico de la segunda bacteria se resumen a con-


tinuación:

Nc = 1
θ12 (1, 1) = (1.595993) + (0.1485 ∗ 0.825212) = 1.718537
θ22 (1, 1) = (1.107934) + (0.1485 ∗ −0.564822) = 1.024058
f (θ 2 (1, 1)) = (1.718537)2 + (1.024058)2 = 4.002064

Nc = 2
θ12 (2, 1) = (1.595993) + (0.44 ∗ (1.082393 − 1.595993)) = 1.370009
θ22 (2, 1) = (1.107934) + (0.44 ∗ (1.011439 − (1.107934))) = 1.065476
f (θ 2 (2, 1)) = (1.370009)2 + (1.065476)2 = 3.012164

Nc = 3
θ12 (3, 1) = (1.370009) + (0.44 ∗ (1.082393 − 1.370009)) = 1.243458
θ22 (3, 1) = (1.065476) + (0.44 ∗ (1.011439 − 1.065476)) = 1.041700
f (θ 2 (3, 1)) = (1.243458)2 + (1.041700)2 = 2.631326
Los cálculos para la tercera bacteria se presentan a continuación:

Nc = 1
θ13 (1, 1) = (1.082393) + (0.1485 ∗ −0.519574) = 1.005236
θ23 (1, 1) = (1.011439) + (0.1485 ∗ 0.854426) = 1.138321
f (θ 3 (1, 1)) = (1.005236)2 + (1.138321)2 = 2.306275

Nc = 2
θ13 (2, 1) = (1.082393) + (0.44 ∗ (1.082393 − 1.082393)) = 1.082393
θ23 (2, 1) = (1.011439) + (0.44 ∗ (1.011439 − 1.011439)) = 1.011439
f (θ 3 (2, 1)) = (1.082393)2 + (1.011439)2 = 2.194583

Nc = 3
θ13 (3, 1) = (1.082393) + (0.44 ∗ (1.082393 − 1.082393)) = 1.082393
θ23 (3, 1) = (1.011439) + (0.44 ∗ (1.011439 − 1.011439)) = 1.011439
f (θ 3 (3, 1)) = (1.082393)2 + (1.011439)2 = 2.194583
Los valores para cada una de las bacterias después de haber pasado el proceso
quimiotáctico es presentado a continuación en la Tabla 8.15

Aquı́ se pueden observar dos comportamientos interesantes: La mejor bacteria


de la población inicial (la número 3) guió a las otras dos bacterias hacia mejores
zonas (mejores soluciones) ya que las direcciones aleatorias no reportaron mejoras
para estas dos soluciones y, por otro lado, la mejor bacteria de la población inicial
no fue capaz de mejorar su posición y no se movió, dado que esta mejor solución
sólo puede mejorar mediante direcciones aleatorias de búsqueda y no mediante el
operador de swarming.
270 E. Mezura-Montes et al.

Bacteria θ1i (0, 1) = x1 θ2i (0, 1) = x2 f (θ i (0, 1))


1 0.200765 0.871222 0.799334
2 1.243458 1.041700 2.631326
3 1.082393 1.011439 2.194583

Tabla 8.15 Resultado de las bacterias después del proceso quimiotáctico.

El siguiente proceso es la reproducción, el cual consiste en duplicar a las mejores


bacterias (la mitad de la población con mejor valor en la función objetivo). La Tabla
8.16 muestra el resultado de la reproducción, donde la bacteria 2 fue eliminada
y ahora una copia de la nueva mejor bacteria (posición 1), quien fue la única en
reproducirse, tomó su lugar.

Bacteria θ1i (0, 1) = x1 θ2i (0, 1) = x2 f (θ i (0, 1))


1 0.200765 0.871222 0.799334
2 0.200765 0.871222 0.799334
3 1.082393 1.011439 2.194583

Tabla 8.16 Resultados del proceso de reproducción.

El siguiente proceso es la eliminación y dispersión, en el cual se elimina a la peor


bacteria de la población. La Tabla 8.17 refleja el resultado del proceso de elimi-
nación, donde la bacteria en la posición 3 (curiosamente la mejor bacteria de la
población anterior) es eliminada y una nueva bacteria localizada en una posición
aleatoria toma su lugar. Ésto favorece la exploración de nuevas soluciones y previene
la convergencia en óptimos locales.

Bacteria θ1i (0, 1) = x1 θ2i (0, 1) = x2 f (θ i (0, 1))


1 0.200765 0.871222 0.799334
2 0.200765 0.871222 0.799334
3 1.546781 0.345621 2.511985

Tabla 8.17 Resultados del proceso de eliminación-dispersión.

La primera generación del MBFOA termina después de la eliminación-dispersión.


Los resultados finales después de 4 generaciones se reportan en la Tabla 8.18.

La solución a reportar será la bacteria 1 y 2 que tienen los mismo valores, con
x1 = −0.042711, x2 = −0.040718 y f (x) = 0.003482.
8. Nuevas Heurı́sticas para Optimización Numérica 271

Bacteria θ1i (3, 4) = x1 θ2i (3, 4) = x2 f (θ i (3, 4))


1 -0.042711 -0.040718 0.003482
2 -0.042711 -0.040718 0.003482
3 0.496293 0.631932 0.645644

Tabla 8.18 Población final y el valor de aptitud de cada bacteria.

8.5. Conclusiones

En este capı́tulo se han presentado dos algoritmos heurı́sticos recientes de in-


teligencia colectiva, basados en comportamientos colaborativos encontrados en la
naturaleza, ambos para resolver problemas de optimización numérica. Después de
una introducción a la optimización en general, de centrarse en la optimización en
espacios continuos y de motivar el uso de heurı́sticas, se han presentado los elemen-
tos de las heurı́sticas bio-inspiradas. Dos algoritmos, la colonia artificial de abejas
(ABC) y la versión mejorada de la optimización mediante el forrajeo de bacterias
(MBFOA) fueron presentados y dos ejemplos numéricos en una función de prueba
muy sencilla se incluyeron para apoyar al lector en el uso de estos algoritmos en
algún problema en particular. Dado lo reciente en la aparición de estas dos heurı́sti-
cas, se visualiza en el futuro cercano una gran cantidad de investigación al respecto,
con la intención de generar versiones aún más robustas al resolver, sobre todo, pro-
blemas del mundo real. Finalmente, se destaca la sencillez de implementación y uso
de ambos algoritmos bio-inspirados, caracterı́sticas que pueden ser atractivas para
especialistas de otras áreas que requieran utilizarlos.

Agradecimientos

El primer autor agradece al Consejo Nacional de Ciencia y Tecnologı́a (CONA-


CyT) por el apoyo mediante el proyecto 79809-Y titulado: “Nuevos Modelos Bio-
Inspirados en Optimización con Restricciones”. El segundo autor agradece el apoyo
de CONACyT mediante una beca para cursar estudios de Maestrı́a en el Labora-
torio Nacional de Informática Avanzada (LANIA A.C.). El tercer autor agradece
a CONACyT por el apoyo otorgado mediante el proyecto 102299 titulado “Opti-
mización con Restricciones Usando Modelos Basados en Bacterias”.

Referencias

1. H.A. Taha. Investigación de Operaciones. Alfa Omega, second edition, 1991.


2. K. Deb. Optimization for Engineering Design Algorithms and Examples. Prentice Hall of
India, fourth edition, 2000.
272 E. Mezura-Montes et al.

3. Z. Michalewicz and D.B. Fogel. How to Solve It: Modern Heuristics. Springer-Verlag, second
edition, 2004.
4. E. Mezura-Montes, C.A. Coello Coello, and R. Landa-Becerra. Engineering Optimization
Using a Simple Evolutionary Algorithm. In Proceedings of the Fiftheenth International Con-
ference on Tools with Artificial Intelligence (ICTAI’2003), pages 149–156, Los Alamitos, CA,
November 2003. Sacramento, California, IEEE Computer Society.
5. A. Angantyr and J.O. Aidanpää. A Pareto-Based Genetic Algorithm Search Approach to
Handle Damped Natural Frequency Constraints in Turbo Generator Rotor System Design.
Journal of Engineering for Gas Turbines and Power, 126(3):619–625, July 2004.
6. J. Alvarez-Gallegos, C.A. Cruz-Villar, and E.A. Portilla-Flores. Evolutionary Dynamic Op-
timization of a Continuously Variable Transmission for Mechanical Efficiency Maximiza-
tion. In Alexander Gelbukh, Álvaro de Albornoz, and Hugo Terashima-Marı́n, editors, MICAI
2005: Advances in Artificial Intelligence, pages 1093–1102, Monterrey, México, November
2005. Springer. Lecture Notes in Artificial Intelligence Vol. 3789,.
7. S. Kirkpatrick, C. D. Gelatt Jr., and M. P. Vecchi. Optimization by Simulated Annealing.
Science, 220(4598):671–680, May 1983.
8. F.W. Glover and M. Laguna. Tabu Search. Kluwer Academic Publishers, London, UK, 1997.
9. A.P. Engelbrecht. Fundamentals of Computational Swarm Ingelligence. John Wiley & Sons,
Sussex, England, 2005.
10. A. E. Eiben and J. E. Smith. Introduction to Evolutionary Computing. Springer, first edition,
2003.
11. D.B. Fogel. An introduction to simulated evolutionary optimization. Neural Networks, IEEE
Transactions on, 5:3–14, 1994.
12. A. Baykasoglu, L. Ozbakir, and P. Tapkan. Artificial bee colony algorithm and its application
to generalized assignment problem. In Felix T.S. Chan and Manoj Kumar Tiwari, editors,
Swarm Intelligence: Focus on Ant and Particle Swarm Optimization, pages 113–144. Itech
Education and Pub., Vienna, Austria, 2007. ISBN 978-3-902613-09-7.
13. D. Karaboga and B. Basturk. A powerful and efficient algorithm for numerical function opti-
mization: Artificial bee colony (ABC) algorithm. Journal of Global Optimization, 39(3):459–
471, 2007.
14. K.M. Passino. Biomimicry of bacterial foraging for distributed optimization andcontrol. IEEE
Control Systems Magazine, 22(3):52–67, 2002.
15. E. Mezura-Montes and B. Hernández-Ocaña. Bacterial foraging for engineering design prob-
lems: Preliminary results. In Arturo Hernández-Aguirre et al., editor, Fourth Mexican Con-
ference on Evolutionary Computation (COMCEV’2008), pages 33–38, Guanajuato, Mexico,
October 2008. CIMAT.

También podría gustarte