control de la orientaciÓn de un haz de luz para …
TRANSCRIPT
“CONTROL DE LA ORIENTACIÓN DE UN HAZ DE LUZ PARA SEGUIMIENTO
DE UN OBJETO QUE SE DESPLAZA SOBRE UN PLANO.”
TRABAJO DE GRADO # 1154
Andrés Francisco José Corso Pinzón
Daniela Escobar Rangel
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE ELECTRÓNICA
BOGOTÁ
2012
“CONTROL DE LA ORIENTACIÓN DE UN HAZ DE LUZ PARA SEGUIMIENTO
DE UN OBJETO QUE SE DESPLAZA SOBRE UN PLANO.”
TRABAJO DE GRADO # 1154
AUTORES
Andrés Francisco José Corso Pinzón
Daniela Escobar Rangel
DIRECTOR
Ing. Andrés Ladino López
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE ELECTRÓNICA
BOGOTÁ DC
2012
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNIFICO: P. JOAQUÍN EMILIO SÁNCHEZ GARCÍA, S.J.
DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO MUÑOZ
DECANO DEL MEDIO UNIVERSITARIO: P. SERGIO BERNAL RESTREPO, S.J.
DIRECTOR DE CARRERA: Ing. JAIRO ALBERTO HURTADO LONDOÑO. PhD
DIRECTOR DEL PROYECTO: Ing. ANDRÉS LADINO LÓPEZMSc
NOTA DE ADVERTENCIA
“La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de
grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque los
trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en ellos el
anhelo de buscar la verdad y la justicia”.
Artículo 23 de la Resolución No 13, del 6
de julio de 1946. Por la cual se
reglamenta lo concerniente a Tesis y
Exámenes de Grado de la Pontificia
Universidad Javeriana.
AGRADECIMIENTOS
Este proyecto no se habría podido realizar sin la colaboración y apoyo de muchas personas que nos han
brindado su disposición, sus conocimientos y su apoyo. Agradecemos a nuestros padres por brindarnos el
apoyo económico y moral para llevar este proyecto a cabo, por otra parte a nuestro director el Ing. Andrés
Alberto Ladino MSc quien nos ha ayudado y apoyado en todo momento durante el proceso.
Al personal del laboratorio de la Facultad de Ingeniería Electrónica y a todos nuestros compañeros y
amigos por acompañarnos durante estos años de carrera y darle un sentido más importante a este esfuerzo.
CONTENIDO
1. INTRODUCCIÓN ............................................................................................................................................... 1
2. MARCO TEÓRICO. ........................................................................................................................................... 3
2.1 CONTROL ....................................................................................................................................................... 3
2.1.1 REPRESENTACIÓN EN VARIABLES DE ESTADOS ............................................................................. 3
2.1.1.1 CONTROLABILIDAD .............................................................................................................................. 3
2.1.1.2 OBSERVABILIDAD .................................................................................................................................. 4
2.1.2 CONTROL PREDICTIVO ............................................................................................................................ 4
2.1.2.1 MODELO DEL PROCESO ....................................................................................................................... 6
2.1.2.2 FUNCIÓN OBJETIVO .............................................................................................................................. 8
2.1.2.3 OBTENCIÓN DE LA LEY DE CONTROL .......................................................................................... 10
2.1.3 CONTROL POR REALIMENTACIÓN DE ESTADOS .......................................................................... 10
2.1.3.1 REGULACIÓN ......................................................................................................................................... 11
2.1.3.2 SEGUIMIENTO ....................................................................................................................................... 12
2.1.4 LINEAR QUADRATIC REGULATOR (LQR) ......................................................................................... 12
3. ESPECIFICACIONES ...................................................................................................................................... 15
3.1 HARDWARE ................................................................................................................................................. 15
3.1.1 PLATAFORMA DE PRUEBAS. ................................................................................................................. 15
3.1.1.1 SERVOMOTORES .................................................................................................................................. 15
3.1.1.2 SENSOR DE LUZ ..................................................................................................................................... 17
3.1.1.3 FUENTE LUMÍNICA .............................................................................................................................. 19
3.1.1.4 OBJETO MÓVIL ..................................................................................................................................... 20
3.1.1.5 BRÚJULA.................................................................................................................................................. 21
3.1.1.6 COMUNICACIÓN ................................................................................................................................... 24
2.2.1.1 ZIGBEE ..................................................................................................................................................... 25
2.2.1.1.1 XBEE ..................................................................................................................................................... 26
3.1.1.7 INTEGRACIÓN ....................................................................................................................................... 27
3.2 SOFTWARE .................................................................................................................................................. 29
3.2.1 MATLAB®-SIMULINK® ........................................................................................................................... 29
3.2.1.1 XBEE SENSOR ......................................................................................................................................... 29
3.2.1.2 LECTOR ARDUINO ................................................................................................................................ 30
3.2.1.2.1 ARDUINO ............................................................................................................................................. 30
3.2.1.3 ENVÍO DATOS ......................................................................................................................................... 31
4. DESARROLLO ................................................................................................................................................. 32
5. ANÁLISIS DE RESULTADOS ........................................................................................................................ 56
6. CONCLUSIONES ............................................................................................................................................. 60
7. BIBLIOGRAFÍA ............................................................................................................................................... 62
INDICE DE FIGURAS
Figura 1 Estrategia control predictivo[8] __________________________________________________________ 5 Figura 2 Estructura básica del MPC ______________________________________________________________ 6 Figura 3 Respuesta impulso _____________________________________________________________________ 7 Figura 4 Respuesta escalón _____________________________________________________________________ 7 Figura 5 Realimentación de Estados _____________________________________________________________ 11 Figura 6 Realimentación de Estados Seguidor _____________________________________________________ 12 Figura 7 Lazo LQR Regulador _________________________________________________________________ 13 Figura 8 Servomotores ________________________________________________________________________ 15 Figura 9 Relación Ángulo vs Ancho de Pulso ______________________________________________________ 16 Figura 10 Partes de un Servomotor ______________________________________________________________ 17 Figura 11Esquemático funcionamiento del Sensor _________________________________________________ 17 Figura12 Comparadores ______________________________________________________________________ 18 Figura 13 Conexionado de Multiplexación, referencia y transmisión ___________________________________ 19 Figura 14 Sensor de luz diseñado _______________________________________________________________ 19 Figura 15 Luz con Servomotores ________________________________________________________________ 20 Figura 16 Objeto con tracción diferencial _________________________________________________________ 20 Figura 17 Sensor sin referencia ________________________________________________________________ 21 Figura 18 Sensor con referencia ________________________________________________________________ 22 Figura 19 Comunicación I2C __________________________________________________________________ 23 Figura 20 Relación brújula - motor ______________________________________________________________ 23 Figura 21 Objeto con motor de corrección ________________________________________________________ 24 Figura 22 Objeto móvil con sensor acoplado ______________________________________________________ 24 Figura 23 Comunicación serial _________________________________________________________________ 27 Figura 24 Diagrama de flujo Sistema Diseñado ____________________________________________________ 28 Figura 25 Bloques Simulink ___________________________________________________________________ 29 Figura 26 Xbee Sensor ________________________________________________________________________ 30 Figura 27 Lector Arduino _____________________________________________________________________ 31 Figura 28 Envío de Datos _____________________________________________________________________ 31 Figura 29 Representación del Seguimiento ________________________________________________________ 32 Figura 30 Respuesta en tiempo de Servomotores (Posición angular vs Tiempo (s)) ________________________ 33 Figura 31 Simulación Servomotor Hitec Simulink __________________________________________________ 34 Figura 32 Respuesta simulación Servomotor (Posición (°) y Ancho de pulso vs tiempo) ____________________ 34 Figura 33 Respuesta segundo orden servomotor ___________________________________________________ 35 Figura 34 Simulación sistema de Servomotores ____________________________________________________ 36 Figura 35 Respuesta Velocidad (°/s) y Posición (°) en el tiempo (s) Motor eje x __________________________ 37 Figura 36Respuesta Velocidad (°/s) y Posición (°) en el tiempo (s) tiempo Motor eje y _____________________ 37 Figura 37 Representación de coordenadas en el sensor ______________________________________________ 38 Figura 38 Lazo de seguimiento en posición del sensor _______________________________________________ 38 Figura 39 Geometría del Sensor respecto a la luz ___________________________________________________ 39 Figura 40 Representación entrada vs salida del modelo del Sensor Simulink _____________________________ 41 Figura 41 Representación lazo por velocidad ______________________________________________________ 42 Figura 42 Velocidad medida sobre el sensor _______________________________________________________ 42 Figura 43 Representación entradas vs salidas del modelo en velocidad Simulink _________________________ 43 Figura 44 Realimentación de estados y Observador _________________________________________________ 44 Figura 45 Sistema masas resorte ________________________________________________________________ 45 Figura 46 Sistema lector de cinta magnética ______________________________________________________ 45 Figura 47 Lazo de posición para el objeto _________________________________________________________ 46 Figura 48 Representación de una trayectoria circular _______________________________________________ 47 Figura 49 Representación trayectoria cuadrada ____________________________________________________ 47
Figura 50 Geometría entre planos _______________________________________________________________ 48 Figura 51 Diagrama de flujo algoritmo___________________________________________________________ 51 Figura 52 Control por algoritmos _______________________________________________________________ 52 Figura 53 Trayectoria algoritmo de búsqueda x vs y ________________________________________________ 53 Figura 54 Trayectoria algoritmo de búsqueda motor eje x y eje y en tiempo ______________________________ 53 Figura55 Búsqueda con Seguimiento trayectoria recta ______________________________________________ 54 Figura 56 Seguimiento trayectoria circular _______________________________________________________ 54 Figura 57 Seguimiento trayectoria cuadrada ______________________________________________________ 55
INDICE DE TABLAS
Tabla 1 Caracterización de Servomotores .................................................................................................................. 16 Tabla 2 Redes y Tecnología Inalámbricas .................................................................................................................. 25 Tabla 3 Trama de datos ............................................................................................................................................... 27 Tabla 4 Tiempos de respuesta en la comunicación .................................................................................................... 57
LISTA DE ANEXOS
A. ANEXO A (HARDWARE)
1. Hoja de especificaciones Servomotores Hitec HS-422.
2. Impreso sensor de luz.
3. Impreso comparadores.
4. Impreso Multiplexores y Microcontrolador.
B. ANEXO B (ARDUINO)
1. Código función “Calibrar¨
2. Código función ¨Programa principal¨
C. ANEXO C (MICROCONTROLADOR)
1. Código “Elección multiplexores”
D. ANEXO D (JAVA)
1. Código ¨Trayectorias¨
2. Código ¨Brújula¨
E. ANEXO E (MATLAB)
1. Código “ObtenerDatos”
2. Representación “Ecuaciones Velocidad”
3. Función “PosicionDatos”
4. Función “Vel2Pos”
5. Funciones “Matabl.Control”
F. ANEXO F (VIDEOS CD )
1
1. INTRODUCCIÓN
La automatización de los procesos nace de la necesidad de propiciar un crecimiento sostenible
minimizando el impacto medioambiental y el consumo de recursos. Ambos factores contribuyen a que se
desee producir de una forma más eficiente satisfaciendo las exigencias y límites impuestos a los
productos. Por lo tanto resulta deseable buscar técnicas de control para optimizar ciertos criterios de
eficiencia garantizando al mismo tiempo la satisfacción de los límites impuestos a los productos[1].
Actualmente la teoría de control se ha impuesto fuertemente en aplicaciones industriales y dadas las
expectativas de las empresas y la complejidad de los procesos se han implementado técnicas más
versátiles, confiables y robustas[2]; entre dichas técnicas se encuentran algoritmos de control como
predictivo, inalámbrico y distribuido.
Este proyecto desarrolla el diseño y construcción de un prototipo de pruebas, que regula el movimiento de
un haz de luz en dos grados de libertad y cuya luz ilumina un objeto que se desplaza en una trayectoria
aleatoria sobre un plano. Este trabajo implementa un sistema de control capaz de proporcionar a dicho
objeto, en cada instante, una máxima luminosidad y un completo seguimiento de su trayectoria.
Así mismo el trabajo busca analizar el desempeño de dos tipos de controladores para sistemas de dos
grados de libertad, el primero de los métodos es el control predictivo y el segundo es control por
realimentación de estados, para estos dos métodos se realiza la interconexión entre una plataforma fija y
una móvil mediante un canal inalámbrico para un prototipo de pruebas. Los beneficios a futuro se pueden
ver en diferentes ámbitos; a nivel educativo se podrá utilizar como planta del laboratorio y enfocar
prácticas a dichos métodos e introducirlo de forma práctica en las clases de pregrado. Otra proyección que
tiene el trabajo en este mismo ámbito corresponde al diseño de un prototipo similar sobre el cual esté
dispuesta más de una lámpara, y se efectúe el seguimiento con un mayor rango de cobertura; este tipo de
dinámica es conocida como control distribuido. El control distribuido es una técnica en la que existen
varias unidades de control para un mismo proceso, con el fin de poder transferir a cada una de éstas tareas
específicas en un rango determinado; en caso dado que exista una falla en las unidades se puede utilizar
cualquiera como respaldo de las otras, lo que se puede ver como redundancia en las acciones de control
[3] . El estudio de los sistemas con control distribuido en el ámbito inalámbrico permitiría obtener
resultados de interés en cuanto a la evaluación de desempeños. En el campo de aplicación del
entretenimiento, se podría adecuar este prototipo de tal forma que permita iluminar siempre a un expositor
2
o a un artista durante una obra, la adecuación correspondería específicamente al replanteamiento del
objeto y sus características y a una implementación más sencilla como lo sería un microcontrolador.
Las estrategias de control propuestas son dos, una de ellas corresponde a un algoritmo de control
predictivo. Dicho algoritmo se encarga de predecir el comportamiento futuro del sistema y permite la
optimización de un criterio determinado, a partir de éstas dos componentes se generan nuevas señales de
control[4]. La segunda es una técnica de regulación por realimentación de estados llamada LQR (Linear
Quadratic Regulator), en esta se busca optimizarla señal de control o la respuesta del sistema y así
determinar la ganancia que garantice la ubicación correcta de los polos[5]. El estudio e implementación de
estás dos estrategias es importante ya que busca salirse un poco del cálculo de los controladores
tradicionales como lo son los proporcionales, derivativos, integrales y sus posibles combinaciones; y
busca, mediante otro tipo de técnicas y conceptos, la manipulación de los parámetros de respuesta de un
sistema de forma más determinante.
La implementación de este trabajo se realiza en Matlab ®, con el fin de poder realizar simulaciones del
comportamiento de la planta con el controlador y adicionalmente poder observar las señales de error, de
entrada y de salida; el uso de este software facilita tanto el análisis de los resultados como la comprensión
y modificación del código, por ser una herramienta bastante utilizada a nivel de educativo.
3
2. MARCO TEÓRICO.
2.1 Control
2.1.1 Representación en variables de estados
Es la representación matemática de la dinámica de un sistema a través de ecuaciones
diferenciales (caso continuo) o de inferencia (caso discreto); en el que se relaciona la dinámica
entre la entrada y la salida mediante variables de estado[6]. Estas variables son magnitudes
físicas que describen el comportamiento de dicho sistema.
El modelo matemático que describe un sistema lineal en tiempo continuo es el que se observa
en (1):
Es el vector de estados, es el vector de entradas y es el vector de
salidas del sistema.
2.1.1.1 Controlabilidad
La controlabilidad de un sistema está asociada a la posibilidad de manipular las variables de
estado de tal forma que puedan tomar un valor deseado en un tiempo finito, sin importar cuales
sean sus condiciones iniciales . Para un sistema como (1) la controlabilidad se determina
mediante la siguiente definición:
El par(A, B) se define controlable si para una condición inicial y un estado final
cualquiera, existe una entrada que pueda transferir a en un tiempo finito. De otra
forma se dice que es NO CONTROLABLE[7].
Esta definición requiere una entrada capaz de llevar cualquier estado en el espacio de estados
hasta otro específico en un tiempo finito, pero no define que trayectoria debe recorrer para
lograrlo.
4
2.1.1.2 Observabilidad
La observabilidad de un sistema está asociada a la posibilidad de determinar el estado del
sistema a partir de las mediciones de sus entradas y salidas durante un tiempo finito.
Considere el sistema (1), la observabilidad se determina mediante la siguiente definición:
Un sistema se define observable si para cualquier estado inicial conocido , existe un
tiempo finito , tal que conocer la entrada y la salida durante es suficiente para
determinar el estado inicial De otra forma se dice que es NO OBSERVABLE[7].
Esta definición dice que un sistema es observable si y solo si el estado inicial puede ser
determinado únicamente a partir de la respuesta a entrada cero durante un intervalo finito de
tiempo.
2.1.2 Control predictivo
El control basado en métodos predictivos (MPC) por sus siglas en inglés, es un algoritmo de
control de naturaleza abierta que ha encontrado gran aceptación tanto en aplicaciones
industriales como en el ámbito académico[8]. En la actualidad existen numerosas aplicaciones
de controladores predictivos funcionando con éxito, tanto en la industria de procesos como en
control de motores o robótica[9]. El buen funcionamiento de estas aplicaciones muestra la
capacidad del MPC para conseguir sistemas de control de buen desempeño capaces de operar
sin apenas intervención durante largos períodos de tiempo.
Este tipo de controlador presenta una serie de ventajas sobre otros métodos; por una parte
resulta atractivo a personas que no tienen un conocimiento profundo de control, ya que los
conceptos detrás del método son bastante intuitivos, a la vez que la sintonización es
relativamente fácil. Adicionalmente puede ser usado para controlar una gran variedad de
procesos, desde aquéllos con dinámica relativamente simple hasta otros más complejos. Es
importante anotar que trata casos multivariables con facilidad.
Existen también algunos inconvenientes a la hora de la implementación, uno de ellos es el alto
costo computacional que se requiere para la solución de algunos algoritmos. Por otra parte, se
requiere que el modelo dinámico del proceso sea lo más cercano al real.
El control predictivo se basa, como su nombre lo dice, en predecir las salidas futuras de un
sistema. Esto es posible si para cada instante de tiempo , se hace uso del modelo del proceso y
5
se deja evolucionar al mismo durante un tiempo determinado, llamado horizonte de control .
Las salidas predichas se denotan matemáticamente como:
Para ,
Esta expresión indica que para cada instante de tiempo diferente, se deja evolucionar el
sistema hasta el tiempo , posteriormente se evaluará la salida del sistema en otro
tiempo .En la figura 1 se observa dicho comportamiento, en el cual se establece un
horizonte , y se muestra la predicción de sus salida en un instante de .
Figura 1 Estrategia control predictivo[8]
El conjunto de señales de control futuras se calcula optimizando un determinado criterio, en el
cual que se pretende mantener el proceso lo más próximo cercano posible a la trayectoria de
referencia.
Por otra parte, la señal de control denotada como significa la muestra generada en el
tiempo , y no se predice como las salidas. Esta señal es enviada al proceso mientras que las
siguientes señales de control calculadas son desechadas, puesto que en el siguiente instante de
muestreo ya se conoce y se repite el paso anterior con este nuevo valor y todas las
secuencias son actualizadas. Se calcula por lo tanto (que en principio será
diferente al al disponer de nueva información), haciendo uso del concepto de
horizonte deslizante.
En el diagrama de bloques de la figura 2 se muestra la estructura de este tipo de controlador.
Se observa que se tiene una referencia y una señal de medición que en este caso corresponde a
las salidas predichas obtenidas del modelo y el error generado a partir de estas dos.
6
Figura 2 Estructura básica del MPC
El optimizador es parte fundamental de la estrategia pues proporciona las acciones de control.
Si la función de costo es cuadrática y el problema no tiene restricciones, el mínimo se puede
obtener como una función explícita de las entradas y salidas pasadas y de la trayectoria de
referencia. Sin embargo, cuando existen restricciones de desigualdad la solución debe ser
calculada por otros métodos.
Todos los controladores predictivos poseen elementos comunes que son:
Modelo de predicción
Función objetivo
Obtención de la ley de control
El uso del modelo del proceso viene determinado por la necesidad del cálculo de la salida
predicha en instantes futuros .Las diferentes estrategias de MPC pueden usar
distintos modelos para representar la relación de las salidas con las entradas medibles, algunas
de las cuales serán variables manipuladas y otras se pueden considerar como perturbaciones
medibles, que pueden ser compensadas por acción feedforward. Otro parámetro a tener en
cuenta es un modelo de perturbaciones, el cual intenta describir el comportamiento que no
aparece reflejado en el modelo del proceso, modelando así el efecto de las entradas no
medibles, el ruido y los errores de modelado. Para el estudio se puede separar el modelo en dos
partes: el modelo del proceso propiamente dicho y el modelo de las perturbaciones. Cualquier
método usará ambas partes para la predicción.
2.1.2.1 Modelo del proceso
Casi todas las formas posibles de modelar un proceso aparecen en alguna formulación de
MPC siendo las más usadas las siguientes:
Respuesta impulso.
7
Secuencia de ponderación o modelo de convolución. La salida viene relacionada con la
entrada por la ecuación que se muestra en (2):
Donde son los valores muestreados obtenidos al someter al proceso aun impulso unitario
de amplitud igual al período de muestreo (ver figura 3
Figura 3 Respuesta impulso
Respuesta escalón.
La señal de entrada para este caso es un escalón. Para sistemas estables se tiene la respuesta
que se observa en (3):
Donde las son los valores muestreados ante la entrada en escalón y
según se muestra en la figura 4.
Figura 4 Respuesta escalón
Función de transferencia.
Se utiliza el concepto de función de transferencia con lo que la salida viene dada
por (4):
8
Donde corresponde al tiempo actual de la muestra.
Por tanto la predicción vendrá dada por (5):
Esta representación es válida también para procesos inestables y posee la ventaja de
necesitar pocos parámetros, aunque es fundamental un conocimiento a priori del proceso
sobre todo en cuanto al orden de los polinomios y .
Espacio de estados.
Considere el siguiente sistema discreto, para como se muestra en (6):
Siendo el estado, la entrada y la salida Para este modelo la predicción viene dada por
(7):
Posee la ventaja de que sirve también para sistemas multivariables a la vez que permite
analizar la estructura interna del proceso. Los cálculos pueden complicarse, con la
necesidad de incluir un observador, en caso que los estados no sean accesibles[8].
2.1.2.2 Función objetivo
Los diversos algoritmos de MPC proponen distintas funciones de costo para la obtención de
la ley de control. En general se desea que la salida futura en el horizonte considerado siga a
una determinada señal de referencia al mismo tiempo que se puede penalizar el esfuerzo de
control requerido para hacerlo. La expresión general de la función viene dada por (8):
En algunos métodos el segundo sumando, que considera el esfuerzo de control, no se tiene
en cuenta, mientras que en otros también aparecen directamente los valores de la señal de
control (no sus incrementos). En la función de coste se pueden considerar:
Parámetros y son los horizontes mínimo y máximo de costo (o de predicción)
y es el horizonte de control, que no tiene por qué coincidir con el horizonte
9
máximo, como se verá posteriormente. El significado de y resulta bastante
intuitivo: marcan los límites de los instantes en que se desea que la salida siga a la
referencia. Así, si se toma un valor grande de es porqueno importa que haya
errores en los primeros instantes, lo cual provocará una respuesta suave del proceso.
Los coeficientes son secuencias que ponderan el comportamiento futuro.
Usualmente se consideran valores constantes o secuencias exponenciales.
Trayectoria de referencia: Una de las ventajas del control predictivo es que si se
conoce a priori la evolución futura de la referencia, el sistema puede empezar a
reaccionar antes de que el cambio se haya efectivamente realizado, evitando los
efectos del retardo en la respuesta del proceso. En el criterio de minimización, la
mayoría de los métodos suelen usar una trayectoria de referencia que no
tiene por qué coincidir con la referencia real. Normalmente será una suave
aproximación desde el valor actual de la salida a la referencia conocida
mediante un sistema de primer orden (9):
es un parámetro comprendido entre 0 y 1 (mientras más cercano a 1 sea más suave
será la aproximación) que constituye un valor ajustable que influirá en la respuesta
dinámica del sistema.
Restricciones: En la práctica, todos los procesos están sujetos a restricciones. Los
actuadores tienen un campo limitado de acción así como una determinada velocidad
de cambio (slewrate), como es el caso de las válvulas, limitadas por las posiciones de
totalmente abierta o cerrada y por la velocidad de respuesta. Normalmente las
condiciones de operación vienen definidas por la intersección de restricciones, con lo
que el sistema de control operará cerca de los límites. Todo lo expuesto
anteriormente hace necesaria la introducción de restricciones en la función a
minimizar.
Muchos algoritmos predictivos tienen en cuenta el tema de las restricciones por lo
cual han tenido gran éxito en la industria. Normalmente se considerarán límites en la
amplitud y el slewrate de la señal de control y límites en las salidas, como se
muestra en (10):
10
Con la adición de estas restricciones a la función objetivo, la minimización resulta
más compleja, no pudiendo obtenerse la solución analíticamente como en el caso sin
restringir[8].
2.1.2.3 Obtención de la ley de control
Para obtener los valores será necesario minimizar la funcional de (8). Para
ello se calculan los valores de las salidas predichas en función de valores
pasados de entradas y salidas y de señales de control futuras, haciendo uso del modelo que
se haya elegido y se sustituyen en la función de costo, obteniendo una expresión cuya
minimización conduce a los valores buscados.
De cualquiera de las maneras la obtención de la solución no resulta trivial pues
existirán variables independientes, valor que puede ser elevado (del orden de
10 a 30). Con la idea de reducir estos grados de libertad se puede proponer cierta
estructura a la ley de control. Además se ha encontrado que esta estructuración de la ley
de control produce una mejora en la robustez y en el comportamiento general del sistema,
debido fundamentalmente a que la libre evolución de las variables manipuladas (sin
estructurar) puede conducir a señales de control de alta frecuencia indeseables y que en el
peor de los casos podrían conducir a la inestabilidad.
Esta estructura de la ley de control se plasma en el uso del concepto de horizonte de
control , que consiste en considerar que tras un cierto intervalo no hay
variación de las señales de control propuestas (11), es decir:
Lo cual es equivalente a dar pesos infinitos a los cambios en el control a partir de cierto
instante de tiempo. El caso límite sería considerar igual a 1 con lo que todas las
acciones futuras serían iguales a [8]
2.1.3 Control por realimentación de estados
La realimentación de estados es una técnica utilizada para realizar ubicación de polos
estratégicamente con el fin de lograr una estabilidad interna, así mismo, permite la
implementación de esquemas de regulación y de seguimiento con mayor robustez y mejores
características de desempeño. Para este método, es necesario tener una representación en
11
variables de estado ya que de esta forma se tiene una descripción interna del sistema, esto
significa que se conoce toda su información pasada y en general necesaria para determinar la
entrada que haga posible dicha salida deseada. Es posible realizar control por
realimentación de estados únicamente si el sistema es controlable.
Si se considera el sistema (12) con matriz y se define la entrada como:
Donde k es un vector de constantes reales y se denomina ganancia de realimentación de
estados[7].Operando esta nueva entrada el sistema (12) se tiene (13):
Las nuevas ecuaciones de estado y su representación en diagrama de bloques (figura 5)
corresponden a (14):
Figura 5 Realimentación de Estados
La controlabilidad del sistema realimentado obedece a la definición:
El par (A-bk, b), para cualquier vector k de coeficientes reales, es controlable si y solo si el
par (A, b) es controlable.
2.1.3.1 Regulación
El problema de regulación se da cuando la referencia (figura 5) es nula, lo que se
pretende básicamente es que el sistema sea asintóticamente estable y que la respuesta a
condiciones iniciales producidas por perturbaciones tienda a cero. Para ello se requiere
entonces diseñar una ganancia k para que todos los autovalores de(A-bk) tengan parte real
negativa[6].
12
2.1.3.2 Seguimiento
El problema de seguimiento se da cuando se pretende que la salida reproduzca
asintóticamente la referencia Es común que la referencia sea un valor constante
. El problema de regulación es un caso particular del seguimiento con
.
Figura 6 Realimentación de Estados Seguidor
Es necesario asegurar que el par (A, b) y que . Se requiere
diseñar k para que todos los autovalores negativos (A-bk) y diseñar un N (figura 6) tal que
cumpla (15):
2.1.4 Linear Quadratic Regulator (LQR)
En control óptimo se desea encontrar un controlador tal que proporcione el mayor desempeño
respecto a una medida del sistema. En general, optimizar con respecto a un criterio no es el
único parámetro que se busca al realizar un controlador; también se debe asegurar la
estabilidad en lazo cerrado del sistema, una buena ganancia y margen de fase, robustez con
respecto a una dinámica incierta, entre otros aspectos.
Hay controladores que son óptimos con respecto a un criterio de energía y su estudio ha
resultado interesante porque el procedimiento de minimización produce controladores estables
y de alguna forma robustos. Adicionalmente se puede aplicar a sistemas MIMO, los cuales no
son fáciles de manipular a través de controladores clásicos.
A continuación en la figura 7 se muestra el lazo de control característico de un LQR para
regulador.
13
Figura 7 Lazo LQR Regulador
Para esta configuración el modelo en variables de estado del proceso es de la forma que se
observa en (16):
Es el vector de estados, es el vector de entradas, es el vector de salidas
medibles y es el vector de salidas que se desea minimizar.
Las salidas medibles corresponden a las señales que pueden ser medidas y por ello
disponibles para controlar. Si el controlador de la matriz de transferencia , se tiene (17):
Donde y denotan la transformada de Laplace de la entrada y las salidas ,
respectivamente.
La salida del proceso corresponde a la señal que se desea minimizar en el menor tiempo
posible. Algunas veces , lo que significa que el objetivo es hacer las salidas
medibles muy pequeñas. Sin embargo cuando la salida es un vector, usualmente se
necesita hacer una de las salidas medibles más pequeña. En ese caso se escoge
, se toma el vector de salidas como en (18):
Lo que significa que se necesita minimizar tanto las medidas de la salida como de su
derivada . Encontrar la ley de control , tal que sea posible la minimización de la
función de costo del LQR, donde se relaciona la energía de las salidas del proceso y la de la
señal de control, como se presenta a continuación en (19).
La función de la constante es compensar estas dos condiciones para obtener los mejores
resultados. El término (20):
14
Corresponde a la energía de la salida controlada y el término (21)
Corresponde a la energía de la señal de control.
Disminuir la energía de la salida controlada requiere una señal de control más larga, y una
pequeña llevará a que las salidas controladas sean también largas.
Diseño de controladores LQR
Si se escoge muy grande, la forma más efectiva de disminuir es utilizar una
señal de control pequeña, bajo el costo de tener la respuesta dinámica de control más
lenta.
Frecuentemente el problema de optimización de un LQR se define de forma más
general y consiste en encontrar la matriz de transferencia que minimiza (22):
Donde Q es una matriz de lxl simétrica y definida semi-positiva, R es también una
matriz simétrica definida positiva y de dimensiones mxm y es una constante
positiva.
Una primera opción para elegir las matrices Q y R está dada por la regla de Bryson,
en esencia la regla escalilza la variable que aparece en , de tal forma que el
máximo valor para cada término sea uno. Especialmente es importante cuando las
unidades utilizadas para las diferentes componentes tanto de la entrada como la salida
u y z hace las variables numéricamente diferentes
La regla de Bryson a veces proporciona buenos resultados, y es usualmente el punto
de inicio para iniciar el diseño del controlador por ensayo y error y así conseguir el
desempeño requerido y las propiedades de estabilidad en lazo cerrado[5].
15
3. ESPECIFICACIONES
3.1 Hardware
3.1.1 Plataforma de pruebas.
A continuación se describe el procedimiento realizado para diseñar e identificar cada uno de
los componentes que están involucrados en el diseño y construcción del prototipo de pruebas.
3.1.1.1 Servomotores
El funcionamiento de un servomotor análogo, se basa en el envío de una señal codificada en
ancho de pulso, llamada señal de control. Los servomotores están configurados como se
observa en la Figura 8, el servomotor que sostiene la fuente lumínica es el que proporciona el
movimiento en el eje x mientras que el que sostiene al anterior da el movimiento en y. Las
especificaciones del motor utilizado (HITEC HS-422) sugieren el rango de voltaje de
operación entre 4.8V y 6V, para modelarlos se polarizaron con 5 VDC. La posición neutral,
cuando el ángulo es de 90º, se da cuando la señal de control tiene un ancho de pulso de
1500µsa una frecuencia de 50Hz (período de 20ms) determinado por el fabricante (Anexo
A.1).
Figura 8 Servomotores
Se obtuvo el valor del ángulo de giro con saltos constantes de 0.1 ms en el ancho de pulso. Con
esta prueba se llegó a determinar el rango de operación [0.6ms, 2.4 ms],cuando se está por
fuera del éste, el servomotor se vuelve inestable, por eso se puede decir que hay regiones de no
operación que están en el intervalo [0ms, 0.6 ms) y de (2.4ms, 20 ms].En la tabla 1 se observan
los resultados y a partir de estos se calcula la ecuación que describe la relación entre estas dos
variables (23) y su respectiva gráfica (Figura9).
16
Ancho de Pulso (ms) Posición (°)
0.6 0
0.7 10
0.8 20
0.9 30
1.0 40
1.1 50
1.2 60
1.3 70
1.4 80
1.5 90
1.6 100
1.7 110
1.8 120
1.9 130
2.0 140
2.1 150
2.2 160
2.3 170
2.4 180
Tabla 1 Caracterización de Servomotores
Figura 9 Relación Ángulo vs Ancho de Pulso
Como se mencionó en el Marco Teórico de este documento, es necesario medir alguna de las
variables de estado del sistema para poder lograr la realimentación deseada, en este caso lo más
útil es la posición angular de cada uno de los servomotores. Para su obtención, se realizó un
cambio sobre estos dispositivos y así poder obtener dicha variable.
17
Las partes que componen un servomotor son un motor DC, un circuito correspondiente a un
PID que controla la posición, engranajes y un potenciómetro lineal como se observa en la
figura 10.
Figura 10 Partes de un Servomotor
El potenciómetro lineal es el eje del servomotor; por lo tanto, de éste se soldaron unos cables
para obtener el valor de voltaje debido a la variación del mismo. Cada uno de estos voltajes se
conecta a un pin de los destinados en la plataforma de hardware Arduino para señales análogas,
allí es pasado por un conversor análogo digital de 10 bits propio del dispositivo.
En el microcontrolador de Arduino se realizó el programa “Calibrar” (Anexo B.1) con el fin de
interpretar este dato; en éste se ubican los motores en las posición de 0° y 180°, se lee el valor
del ADC para cada uno de estos ángulos y se envía dicho dato a Matlab® para posteriormente
calcular una ganancia que determina la posición en grados para cada uno de los motores.
3.1.1.2 Sensor de luz
El sensor de luz fue diseñado en su totalidad, ya que, en el mercado no se encontró ninguno
con las especificaciones deseadas para esta aplicación. Este sensor está compuesto por un
arreglo de 25 fotorresistencias en forma de matriz (AnexoA.2), configurada cada una de ellas
como se observa en la figura 11; y cuyo funcionamiento corresponde a un divisor de voltaje.
Las resistencias utilizadas son de 3.9 kΩ, con ello el valor del divisor al estar iluminada una
fotorresistencia es de aproximadamente 3V y cuando no lo está es en promedio 1 V.
Figura 11Esquemático funcionamiento del Sensor
Motor DC
Potenciómetro
Lineal
PID
Engranajes
18
La salida de cada una de las fotorresistencias de este circuito se toma como entrada (Vin) a un
arreglo de comparadores con histéresis para obtener señales de “1” o “0” lógicos, que indican
si hay o no presencia de la fuente lumínica respectivamente. El valor de referencia utilizado
para el disparo es de 2.5 V.
El dispositivo que se utilizó fue el LM-339 en la configuración que se observa en la figura 12
(Anexo A.3).
Figura12 Comparadores
La información generada por el sensor y su representación lógica, al igual que la posición
angular, debe ser enviada a Matlab® para uso de los controladores. Para ello se utilizan las
tarjetas de transmisión y recepción Xbee; los datos del sensor se envían a través de este medio
y se leen por medio del puerto serial en Matlab®. Sin embargo, un requisito de diseño del
hardware para que se realice la transmisión, es que se ingrese la información de forma serial; y
como se explicó anteriormente los datos de salida del sensor representan una salida en paralelo
de 25 bits.
Para convertir estos datos de paralelo a forma serial se usaron 2 multiplexores (DM74150N)
cada uno de ellos de 16bits, dispuestos como se observa en la figura 13. Este multiplexor es
inversor. Según los valores de A, B, C, D y , se tiene una de las entradas en el pin de salida.
Por otra parte, para los pines asociados al direccionamiento se utilizó el microcontrolador
PIC16F688, la programación (AnexoC.1) de éste lee secuencialmente un vector que contiene la
configuración de los puertos para obtener las salidas deseadas sobre la tarjeta Xbee, su
conexionado se observa en la misma figura (Anexo A.4).
19
Figura 13 Conexionado de Multiplexación, referencia y transmisión
Los tres componentes del sensor nombrados anteriormente correspondientes a: detección,
comparación y envío comprenden la elaboración realizada y la figura 14 muestra el resultado
físico del elemento diseñado.
Figura 14 Sensor de luz diseñado
3.1.1.3 Fuente lumínica
Se utilizó como haz de luz un láser acoplado sobre uno de los servomotores, este tipo de
iluminación se eligió debido a su bajo rango de apertura y bajo consumo eléctrico ( 3.2 V) y,
haciéndolo una fuente bastante puntual. La disposición del láser está acoplada a los
servomotores como se observa en la figura 15.
20
Figura 15 Luz con Servomotores
3.1.1.4 Objeto móvil
El objeto móvil se construyó con el kit LEGO MINDSTORMS®, este kit contiene software y
hardware para la elaboración de pequeños robots programables. El prototipo robótico
construido es de tracción diferencial (ver figura 16), es decir cuenta con dos motores
acoplados, para dos ruedas, y una tercera que gira libremente.
Figura 16 Objeto con tracción diferencial
Este kit cuenta con una unidad central de procesamiento que permite el control de sus puertos
determinado por el usuario, con esto se consigue establecer el movimiento de los motores por
tanto las trayectorias, así como la lectura de los sensores conectados a este. El lenguaje de
programación por defecto y oficial es totalmente gráfico(LEGO MINDSTORMS NTX 2.0),
sin embargo, este no permite mayor control sobre el objeto, por lo que se modificó el firmware
a con licencia Open Source (MPL), llamada lejos que incluye una máquina virtual de java, por
lo que es posible programar en este lenguaje.
Con esta herramienta se programaron 4 tipos de trayectorias (ver anexo D.1), la primera es una
trayectoria lineal, los dos motores se mueven simultáneamente, 5 segundos hacia adelante y
21
luego 5 hacia atrás. En la segunda, se describe un cuadrado, los motores giran 10 segundos,
pasados estos uno se detiene por otros 10 para generar el ángulo de 90º. La tercera los dos
motores giran hacia adelante, sin embargo uno de los dos gira más rápido por lo que se genera
una trayectoria circular. La última es una trayectoria aleatoria la cual con un número aleatorio
para cada motor define el comportamiento de este, ya sea o girar hacia adelante, hacia atrás o
detenerse.
3.1.1.5 Brújula
La última pieza del sensor corresponde a una brújula cuya función es: no perder nunca una
referencia determinada con respecto a la posición de las fotorresistencias; esto debe ser posible
independiente de la trayectoria que tome el objeto.
Como se observa en la figura 17 se ha enumerado cada uno de los componentes del sensor con
el fin de comprender lo que sucede cuando el sensor no está referenciado. Supóngase la
condición de equilibrio donde la luz apunta la fotorresistencia 1 y el objeto de repente gira
sobre sí mismo cambiando repentinamente su orientación hacia el oriente; lo que implica que
la fotorresistencia 1 cambio su posición, es decir la que en un primer instante era el
componente 1 ahora es el 21.
Figura 17 Sensor sin referencia
De querer ejercer una acción de corrección sobre el sensor, habría que tener un sistema de
referencia diferente para cada vez que el objeto gire, lo que no garantiza que se pueda lograr el
control deseado. Una forma más sencilla de realizar esto es haciendo que estos elementos
giren la misma magnitud pero en la dirección opuesta a como lo hace el objeto. Esta
representación se observa en la figura 18.
ORIENTE
21 16 11 6 1
22 17 12 7 2
23 18 13 8 3
24 19 14 9 4
25 20 15 10 5
NORTE
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
22
Figura 18 Sensor con referencia
Tener un sensor con referencia permitirá que las acciones de control realizadas siempre se
puedan identificar con un punto específico, el ejemplo mostrado magnifica un caso de
corrección donde el giro es 90º, sin embargo, la función de la brújula es garantizar que en todo
momento el sensor este alineado con una referencia.
Para llevar esto a cabo, se utilizó una brújula digital CMPS10 la cual utiliza un magnetómetro
y un acelerómetro de 3 ejes respectivamente, así como un potente procesador de 16-bits. La
ventaja de esta brújula es su capacidad para eliminar el error producido por la inclinación de
ésta. Los datos que puede entregar este dispositivo incluyen el ángulo bien sea en forma
completa, en forma reducida o en señal análoga.
La forma completa es un número entre 0 y 3599 equivalente al rango de 0º a 359.9º y la forma
reducida consiste en entregar un valor entre 0 y 255 dividiendo los 360º en 256 valores
posibles, esto se debe a que se utiliza solo un byte (8 bits) y 255 es el número máximo que se
puede expresar, mientras que en la forma completa se utilizan 2 bytes (16 bits), lo que da
suficiente rango para los valores antes mencionados. Este dispositivo además puede informar
cual es la inclinación (Pitch y Roll), los valores del magnetómetro y los del acelerómetro en los
ejes x, y y z. Esta información no es utilizada para la implementación de la brújula realizada.
La CMPS10 puede entregar los datos de 3 modos diferentes: el primero es el modo PWM, el
cual genera una señal en alto proporcional al ángulo medido y un tiempo en bajo de 65ms, en
este modo solo se tiene la información del ángulo; el segundo es el modo serial, en el que se
utiliza una comunicación como su nombre lo indica serial, enviando un dato específico recibe
uno con la información antes mencionada, el baudrate se puede configurar y por defecto es de
9600. El tercer modo y el utilizado en esta implementación de brújula es el modo I2C que
utiliza este protocolo de comunicación para informar su estado, su dirección por defecto es
0xC0 e igual que en el modo serial según el dato que se le envíe el dispositivo responde con el
valor de dicho dato.
Efecto
Brújula
Rotación
Objeto
ORIENTE ORIENTE
NORTE
21 16 11 6 1
22 17 12 7 2
23 18 13 8 3
24 19 14 9 4
25 20 15 10 5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
23
En la figura 19 se observan los datos intercambiados en el protocolo I2C, la comunicación se
inicia cuando SDA pasa a 0, se envía la dirección con el bit de R/W en 0 y el registro que se
quiere leer (en este caso el 2 y 3), para obtener los datos se debe enviar de nuevo la dirección
esta vez con el bit de R/W en 1 y con esto se obtienen los datos que están guardados en el
registro seleccionado.
Figura 19 Comunicación I2C
El dispositivo antes mencionado va conectado a uno de los puertos del LEGO
MINDSTORMS®, como se ve en la figura 20, los cuales son destinados a los sensores y
funcionan bajo el bus de comunicación serie I2C, con la programación en el lenguaje JAVA
(ver anexo D.2), se obtiene un movimiento correctivo cada vez que el objeto móvil cambie de
dirección.
Figura 20 Relación brújula - motor
Se tiene un ángulo definido que se quiere mantener, este se compara con el adquirido por el
sensor, para obtener este dato se realizó la clase Brujula.java que hereda de la clase I2C propia
de lejos, con el método getDegrees que utiliza las funciones de su padre getData para obtener
los 2 bytes de la forma completa y así poder compararlos. Teniendo en cuenta el error, se
realiza la corrección según lo alejado que se encuentre del ángulo objetivo. Entre más alejado
este, el motor se debe mover más rápido hasta llegar a un límite donde se deja de mover, es
decir, está en la posición deseada. El giro lo realiza un motor ajustado sobre el objeto móvil
(ver figura 21)
24
Figura 21 Objeto con motor de corrección
El sensor finalizado sobre el objeto móvil es el que se observa en la figura 22 una vez fueron
acopladas cada una de ellas.
Figura 22 Objeto móvil con sensor acoplado
3.1.1.6 Comunicación
La comunicación utilizada entre el sensor y MATLAB® es inalámbrica la cual usa el espacio
libre para envió de señales. Esta tecnología se ha venido posicionándose en la vida cotidiana
permitiendo en la actualidad el acceso a la información desde dispositivos personales como el
celular independientemente de la ubicación en la que se encuentre, entre otras aplicaciones.
Un protocolo de comunicación permite mediante el seguimiento de reglas, la comunicación
entre dos o más dispositivos, siempre y cuando estos entiendan el protocolo. Existen varios
estándares que han sido creados para regular las comunicaciones inalámbricas, los cuales
buscan clasificar diferentes protocolos según las características que poseen. La tabla 2
presenta un comparativo de la distancia de cubrimiento entre algunos de los estándares que
25
existen, los cuales están aprobados por el comité de la IEEE 802. En una aplicación, el tipo
de estándar que se utiliza debe ser acorde a las exigencias de la misma, tal como la potencia
de la señal a transmitir, la distancia que desee cubrir y el costo a invertir[10].
Tipo Distancia Tecnología
WMAN (wireless metropolitan area network) Kilómetros WiMAX
WLAN (wireless local area network) Cientos de
Metros Wi-Fi
WPAN (wireless personal area network) Décadas de
metros
ZigBee
Bluetooth
WiMedia
Tabla 2 Redes y Tecnología Inalámbricas
2.2.1.1 Zigbee
Es una nueva tecnología de inalámbrica de corto alcance y bajo consumo originaria de la
antigua alianza HomeRF y que se definió como una solución inalámbrica de baja
capacidad para aplicaciones en el hogar como la seguridad y la automatización.
Entre las aplicaciones que puede tener están:
Domótica.
Automatización industrial.
Reconocimiento remoto.
Juguetes interactivos.
Medicina.
El beneficio de esta tecnología no es obtener velocidades muy altas, ya que solo puede
alcanzar una tasa de 20 a 250Kbps en un rango de 10 a 75 metros, sino es obtener
sensores cuyos transceptores tengan un muy bajo consumo energético. De hecho,
algunos dispositivos alimentados con dos pilas AA pueden soportar 2 años de vida
activa sin el cambio de baterías. Por tanto, dichos dispositivos pasan la mayor parte
del tiempo en un estado de bajo consumo, es decir, durmiendo para consumir mucho
menos.
Zigbee opera en las bandas libres de 2.4Ghz, 858Mhz para Europa y 915Mhz para
Estados Unidos. En la banda de 2.4Ghz usa la modulación de espectro expandido
DSSS (Direct Sequence Spread Spectrum)[11]. A una velocidad de transmisión de
250Kbps y a una potencia de 1mW cubre aproximadamente unos 13 metros de radio.
26
2.2.1.1.1 Xbee
Una buena forma de agregar conectividad inalámbrica a los proyectos, es
utilizando los módulos Xbee de MaxStream. Los módulos Xbee proveen 2
formas amigables de comunicación: Transmisión serial transparente (modo AT)
y el modo API que provee algunas ventajas. Los módulos Xbee pueden ser
configurados desde el PC utilizando el programa X-CTU o bien desde un
microcontrolador.
Pueden ser usados con adaptadores Xbee Explorer Serial o Xbee Explorer USB.
Aquellos microcontroladores que trabajan con 5V necesitarán de una interfaz
(Xbeeregulated) para comunicarse con los módulos Xbee. Para la conexión con
el PC se utilizó el adaptador USB que permite configurar y utilizar el módulo
fácilmente.
Las tarjetas tienen un PAN ID (Previous Access Network Identifier) asociado, un
número de 16 bits usualmente expresado en hexadecimal, que permite identificar
las tarjetas dentro de una misma red, en este caso se utilizó el 5050.
Los módulos Xbee son económicos, poderosos y fáciles de utilizar. Algunas sus
principales características son[12]:
Buen Alcance: hasta 300ft (100 m) en línea vista para los módulos Xbee y
hasta 1 milla (1.6 Km) para los módulos Xbee Pro.
9 entradas/salidas con entradas analógicas y digitales.
Bajo consumo <50mA cuando están en funcionamiento y <10uA cuando
están en modo sleep.
Interfaz serial.
Más de 65,000 direcciones para cada uno de los 16 canales disponibles. Se
pueden tener muchos de estos dispositivos en una misma red.
Fáciles de integrar
Al ser necesario tener la información generada por el sensor y su representación lógica
en el control para que se tome la acción de corrección, se requiere la transmisión de los
datos obtenidos, la cual se realiza mediante el protocolo Zigbee, utilizando los módulos
Xbee. Esta comunicación digital es serial, de 8 bits de datos, con una tasa de transmisión
de 9600 bits/s y sin paridad, es decir que el tiempo de bit es aproximadamente 104µs.
27
La transmisión de un byte o dato en la comunicación serial requiere por lo menos 10
tiempos de bit. Cuando el canal no está transmitiendo se presenta un 1 lógico, para
indicar el envío de un nuevo dato se debe pasar a un 0 lógico, a este se le conoce como
el bit de inicio; luego de esto vienen los 8 datos enviando primero el menos significativo
y finalmente para volver a un estado de espera de un nuevo dato se debe volver a 1,
conocido como el bit de parada (Ver figura 23).
Figura 23 Comunicación serial
La trama de datos enviados tiene una longitud de 5 bytes, donde cada uno tiene la
información de una fila, de los 8 bits los tres (3) primeros equivalen a la fila que se está
enviando y los otros cinco (5) son los datos de dicha fila, como se muestra en la Tabla 3.
Esto se hace variando en el microcontrolador a diferentes tiempos las entradas de control
que tienen los multiplexores (A, B, C, D y Storbe) para obtener una salida específica.
Columna Indicador Datos
1 001 D1 D2 D3 D4 D5
2 010 D6 D7 D8 D9 D10
3 011 D11 D12 D13 D14 D15
4 100 D16 D17 D18 D19 D20
5 101 D21 D22 D23 D24 D25
Tabla 3 Trama de datos
La totalidad de la comunicación de la trama se realiza en 65 tiempos de bit y se realiza
cada 256 tiempos de bit. Al tener multiplexores inversores los datos enviados al PC
están negados, cuando una fotorresistencia está iluminada se envía un 0 lógico o en su
defecto se envía un 1 lógico.
3.1.1.7 Integración
El diagrama de bloques que se muestra a continuación (figura 24), representa cómo está
interconectada cada una de las partes que componen el sistema y cómo se realiza el flujo de
28
la información a través de cada una de las partes del proceso, se debe aclarar que el control se
explica detalladamente en la sección 4.1del documento.
Figura 24 Diagrama de flujo Sistema Diseñado
Nota: Las líneas de color negro indican las conexiones eléctricas, las rojas corresponden a
las mecánicas y las verdes a medios lumínicos e inalámbricos
CONTROL
Matlab Arduino
FUENTE
LUMÍNICA Laser
Servomotor
θ
Servomotor
ϕ
OBJETO MÓVIL
REFERENCIA GIRO
Motor
Brújula digital
Arreglo 25
fotorresistencias
SENSOR
Comparadores
Xbee Multiplexores
25
25
Programación
Trayectorias
29
3.2 Software
3.2.1 Matlab®-Simulink®
Se utilizó el software Simulink®, este permite además de enviar y recibir las señales necesarias
para el control, la obtención de datos para el análisis de resultados. El problema se divide en 4
partes o bloques, como se observa en la figura 25, la primera es “Xbee Sensor” el cual obtiene
los datos enviados por el sensor los procesa y tiene como salida la posición donde se encuentra
apuntando el láser y sí el sensor apunta o no a una fotorresistencia; la segunda es “Lector
Arduino” que recibe los datos de Arduino y los convierte a ángulo, así como la definición de si
ya terminó la calibración de los motores, esta señal (Datos) se encarga de habilitar los bloques
CONTROL y Envío Datos; la tercera parte es el “Envío Datos” que se encarga de enviar los
ángulos que se deben mover los servomotores a Arduino, que es el encargado de realizar el
movimiento; y por último el bloque “CONTROL”, el que se encarga de recibir las señales
procesadas por el primer bloque e informar a “Envió Datos” el ángulo a mover.
Figura 25 Bloques Simulink
3.2.1.1 Xbee Sensor
Como se habló anteriormente en el documento, la comunicación entre el sensor y
Simulink®, es serial, Simulink recibe los 5 datos de las filas y se obtiene el valor de la
fotorresistencia iluminada (Ver anexo E.1), con estos datos se sabe si el láser está
iluminando el objeto o por el contrario se debe buscar el objeto. La configuración de estos
bloques se observa en la figura 26.
30
Figura 26 Xbee Sensor
3.2.1.2 Lector Arduino
Para entender el funcionamiento del bloque es necesario conocer la forma en que se
comunica Simulink con Arduino.
3.2.1.2.1 Arduino
La plataforma Arduino está programada de tal forma que envía y recibe datos
por el puerto serial (ver anexo B.1), a un baudrate de 115200. Este puede
enviar 3 tipos de tramas, todas de 8 bytes. Las dos primeras corresponden a los
datos de la calibración del servomotor en x llamado servomotor Láser y del
servomotor en y llamado servomotor Base respectivamente; y la tercera es los
datos leídos del ADC en diferentes tiempos.
Estas tramas tienen por cabecera la letra „I‟ en el primer byte y los siguientes 7
bytes son diferentes para cada una de estas. Al enviar la calibración del
servomotor, los bytes 2, 3 y 4 corresponden a la lectura del ADC cuando este
está en 0° mientras que los bytes 6, 7 y 8 son equivalen al valor de los 180°, el
byte 5 corresponde a la letra „B‟ o „L‟ que especifica si se están enviando los
datos de la base o del láser. En el caso de estar enviando los datos leídos del
ADC el 5 byte es una „D‟, los 2, 3 y 4 corresponden al servomotor base y el
resto al servomotor láser.
Esta comunicación es leída por otro puerto serial del computador y es
guardado para su procesamiento (ver Figura 27), ya sea, por el control o
simplemente para observar el comportamiento de los motores.
31
Figura 27 Lector Arduino
3.2.1.3 Envío Datos
Así como se describió previamente Arduino recibe los datos de una forma determinada, la
trama es de 9 bytes (ver figura 28), el primer dato que se debe enviar es la letra „P‟ y los
siguientes 8 datos corresponden a los dígitos del ancho de pulso en microsegundos de
cada uno de los servomotores.
Figura 28 Envío de Datos
32
4. DESARROLLO
A partir de la figura 29se realiza un acercamiento a la comprensión y planteamiento de la
dinámica del sistema.
Figura 29 Representación del Seguimiento
Se puede observar que para llevar a cabo el seguimiento lumínico se deben igualar las
velocidades asociadas al plano ( ) en el suelo, con las componentes de velocidad generadas
angularmente ( ). Esto quiere decir qué, los mismos movimientos que realice el objeto
móvil deben ser iguales a los del conjunto de servomotores y al de su velocidad proyectada en
el plano.
Como primer acercamiento a esta explicación se analiza únicamente una de las dimensiones,
como se observa en (24), y luego se extrapolará a la otra.
A partir de esta información se puede determinar un primer lazo de control en el cual se
controle la posición del sensor de luz; es decir, se desea que el láser siempre esté apuntando al
centro de dicho sensor. Para esto se necesita que la salida del sistema sea la posición tanto en el
eje como el propios del sensor para así poderlos comparar con la referencia.
Previo a la construcción de este lazo se necesita la respuesta dinámica de los servomotores que
se están utilizando, ya que estos determinan la posición angular necesaria para el planteamiento
del sistema. El primero de los métodos fue tomar los valores por medio de la interfaz creada de
x
y
[ θ, ϕ ]
33
para aplicar un paso para pasar de 0° a 90ª en el servomotor, dicha respuesta se observa en la
figura 30, para los motores en y respectivamente.
Motor eje x
Figura 30 Respuesta en tiempo de Servomotores (Posición angular vs Tiempo (s))
Como se puede observar se tiene una respuesta con tendencia al comportamiento de un sistema
de primer orden; sin embargo justo en el momento que llega a estabilizarse hay un sobrepico
que no es muy claro distinguir entre sí es una respuesta de segundo orden o una dificultad en
la resolución de la medida. Por lo tanto, se recurre a un segundo método que es la simulación
34
de un servomotor de la misma marca utilizada, encontrado en trabajos realizados en
Mathworks cuya estructura se observa en la figura 31.
Figura 31 Simulación Servomotor Hitec Simulink
Para verificar que en efecto esta simulación correspondiera al comportamiento de los
servomotores se realizaron varias pruebas de entrada salida. Una de esas pruebas se observa en
la figura 32 para la cual se utilizó un ancho de pulso de 1.5 ms y obtener una salida de 90°.
Figura 32 Respuesta simulación Servomotor (Posición (°) y Ancho de pulso vs tiempo)
Se realizó la prueba para cada una de las entradas y se corroboró que la respuesta era
completamente equivalente. A partir de la figura 32 se determina que la respuesta de los
servomotores es de segundo orden debido al pequeño sobrepico que presenta antes de
estabilizarse. Matemáticamente la caracterización de un sistema de segundo orden corresponde
a (25).
35
De la gráfica 33 se tomaron los valores de máximo sobrepico y tiempo de establecimiento. El
máximo sobrepico es de 1.2% y el tiempo de establecimiento es de 0.2 s, despejando los
valores de y de (26) y (27):
Se obtiene que: y , tal que la respuesta de este sistema la representa (28)
Donde , corresponde a una representación del ancho de pulso en segundos, por lo tanto
(28) la función de transferencia se expresa en [°/s]
Figura 33 Respuesta segundo orden servomotor
La ganancia corresponde a la relación de ganancia entre entrada y salida que es
[°/s]. Una vez identificada la relación entre posición y entrada, y desarrollándola para
obtener una ecuación diferencial se plantea el espacio de estados de la siguiente forma:
Haciendo una transformación de variables:
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50
50
100
150X: 0.1527
Y: 141.5
X: 0.2232
Y: 139.7
36
Por lo tanto las ecuaciones diferenciales correspondientes son las que se observan en (29) y
(30):
Para el motor en el otro eje se tiene equivalentemente (31) y (32):
A partir de (29), (30), (31) y (32), la representación en variables de estado para el servomotor
es la descrita por (33):
Para observar si el sistema dinámico planteado corresponde con el sistema de ecuaciones
planteado, se realiza una simulación en la cual se tenga para cada motor una posición diferente
(70° y 30°) y adicionalmente se pueda apreciar el comportamiento de la velocidad para cada
uno de ellos, como se observa en la figura 33.
Figura 34 Simulación sistema de Servomotores
Para la variable en el eje , se tiene la respuesta en el figura 35:
37
Figura 35 Respuesta Velocidad (°/s) y Posición (°) en el tiempo (s) Motor eje x
Para la variable en el eje , en la figura 36:
Figura 36Respuesta Velocidad (°/s) y Posición (°) en el tiempo (s) tiempo Motor eje y
Una vez determinada la dinámica de los servomotores, se plantea la referencia del sistema
(véase figura 38) que lleva por nombre y corresponde a una matriz de 5x5 como se observa
en (34).
38
Para la interpretación del sensor se ha determinado que a cada uno de los puntos de esta matriz,
sele asociará a una coordenada [ ], como se muestra en la siguiente representación figura 37
Figura 37 Representación de coordenadas en el sensor
Como se ve en (34) el uno en la posición [0,0] indica que se desea que el haz de luz siempre
esté dirigido a este punto mientras que en sus coordenadas correspondientes equivale a tener
( ; con esta información se puede realizar un primer lazo de control como se
observa en la figura 38.
Figura 38 Lazo de seguimiento en posición del sensor
Con este lazo se desea transformar la posición angular que se tiene a una velocidad media
angular; a esta velocidad media se le suma la velocidad del objeto, que se asume como un
disturbio, y finalmente es posible adicionar la velocidad del objeto de tal forma que se pueda
determinar los valores en y en del sensor (Ver anexo E.2)
Para calcular la velocidad media angular en una de las dimensiones se tiene (35):
Ahora se procede al análisis de la relación geométrica (figura 39) entre los ángulos del motor y
la posición del sensor, para obtener la proyección de dicha velocidad en el plano de referencia
( ).
Espacio de
estados
servomotores
Ecuación
velocidades
Funciones de
Transformación
Control
+
+
+
-
Velocidad
angular
Velocidad
objeto
Velocidad
sensor
39
Figura 39 Geometría del Sensor respecto a la luz
Donde corresponde al ángulo del servomotor en una de las direcciones en el instante , h es
la altura perpendicular hasta las fotorresistencias, es la distancia entre el objeto en el instante
y la perpendicular generada por la posición del motor a 90°, es la distancia entre centros de
las fotorresistencias y α es el ángulo que se genera al pasar de una fotorresistencia a la
inmediatamente siguiente desde la posición .
De esta geometría se tiene que:
Igualando de (36) y (37) la variable , y despejando se tiene (38):
Continuando con las otras relaciones se tiene:
Igualando nuevamente las componentes de las hipotenusas de este nuevo triángulo de las
ecuaciones (39) y (40), como se muestra en (41):
d
h
θ
(
α
x
r
s
40
Despejando se obtiene (42):
Reemplazando (38) en (42), se tiene (43):
Se tiene que finalmente es , por lo tanto utilizando el concepto de velocidad media, se
determina que el cambio de una posición a otra en un instante de tiempo es la velocidad
angular reflejada en el plano ( ) como se muestra en (44).
Una vez determinada esta relación se aplica de igual forma al eje (45).
Donde corresponde a .
El último componente de la figura 38 corresponde al bloque de funciones (Anexos E.3 y E.4)
en este bloque se procede a adicionar la velocidad del sensor y determinar las posiciones en el
eje como en el del mismo. En la figura 40 se muestra como quedó la representación de este
sistema desde la entrada de ancho de pulso de los servomotores, hasta la salida en posición
[ ]. Para esta representación se plantea el sistema como discreto debido a la naturaleza de
medición del sensor, por lo tanto el sistema en (33) se transformó a tiempo discreto mediante
el comando “c2d” de Matlab®
41
Figura 40 Representación entrada vs salida del modelo del Sensor Simulink
Este tipo de formato en Simulink, en el cual se distingue las entradas de las salidas, para
facilitar el cálculo de la linealización se recurrió a la función dlinmodde Matlab® y con ello
determinar el espacio de estados que representa el sistema. Las matrices de este espacio se
observan en (46).
Una vez determinado el espacio de estados, hay que analizar cuales estados están disponibles y
cuáles no, para poder realizar un observador y llevar a cabo el diseño del LQR y el MPC; así
mismo hay que comprender cómo estaría físicamente dispuesto el sistema que se diseñó. Para
empezar se analizó este segundo punto; en la figura40 se puede observar que la salida del
sistema es a la posición [ ] del sensor; la cual se puede medir ya que es entregada conforme
éste elemento se encuentre iluminado. Sin embargo, para realizar la conexión real de dicha
figura, sería necesario que las medidas ingresadas al sensor correspondieran a velocidad; esto
42
no es posible, la única entrada que permite obtener una representación de posición en el sensor
es la luz.
Continuando con la misma idea de implementar un lazo de control que permita el
cumplimiento de la ecuación 24 se plantea un control de velocidad en el cual directamente se
satisfaga dicha ecuación, esta nueva idea surge de tener la posición del sensor como una
entrada del sistema y así mismo de contemplar la velocidad del objeto dentro del lazo.
El diagrama de bloques de este nuevo lazo se puede observar en la figura41, en este caso se
tiene como entradas del sistema el ancho de pulso para el movimiento de los servomotores, por
otra parte se agrega como una entrada disturbio la posición del sensor. La idea es hacer la
realimentación tomando como salida la velocidad estimada del objeto y fijando como
referencia la velocidad del mismo.
Figura 41 Representación lazo por velocidad
El término , se refiere a la velocidad media con la que el haz de luz pasa de una
fotorresistencia a otra en cualquiera de sus ejes, como se observa en la figura 42.
Figura 42 Velocidad medida sobre el sensor
El término que resulta para dicha velocidad en el instante k es (47):
Donde corresponde a la posición actual de la fotorresistencia, el término es la
posición en el tiempo anterior y es el tiempo que transcurre en pasar de una posición a otra.
d(k-1)
d(k)
Espacio de
estados
Servomotores
Ciclos
útiles θ / ϕ
x / y
Velocidad
angular
Velocidad
sensor
Velocidad
objeto +
+
Estimador de
Velocidad
Estimador de
Velocidad
Angular
43
Para la velocidad angular reflejada en el plano de referencia se utilizan las mismas relaciones
geométricas obtenidas en (44) y (45), con estos 2 términos la velocidad estimada del objeto
para este lazo es la ecuación (48):
Una vez realizado cada uno de estos bloques se planteó el esquema de en Simulink (figura 43)
con el fin de realizar la linealización a través de la función dlinmod de Matlab.
Figura 43 Representación entradas vs salidas del modelo en velocidad Simulink
El espacio de estado generado para este sistema es el que se observa en (49):
Con la obtención de la representación matricial del sistema y ya que en este caso la conexión
con la planta si se puede realizar, se procede a continuación al análisis y diseño de las técnicas
de control.
Para realizar una realimentación de estados se plantean 2 posibles métodos, el primero de ellos
es realimentar la salida, para lo cual es necesario realizar un observador del sistema y la
44
segunda es realimentar directamente cada uno de los estados. Como para el lazo planteado se
necesita la salida, se va a utilizar esta opción en primera instancia. El esquema de control que
muestra cómo se realiza una realimentación a la salida se observa en la figura 44.
Figura 44 Realimentación de estados y Observador
Esta gráfica indica claramente que si se desea realimentar la salida es necesario diseñar un
observador por medio del cual se puedan estimar los estados y realimentarlos.
Por lo tanto se retoman las condiciones sobre las salidas necesarias para poder llevar esto a
cabo. Dicha salida está representada por la ecuación (50):
Las variables de estado representan la velocidad del objeto en el eje y en el . Sin embargo,
para poder realizar dicho observador es necesario que la velocidad reflejada en el plano sea
posible medirla, y para el caso de análisis solo se está estimando a través de relaciones
geométricas lo cual no satisface las condiciones de diseño.
Es por esto que antes de proceder a cualquier cálculo y diseño de los controladores hay que
ahondar más en el tema del sistema dinámico, de cómo se están planteando las entradas, las
salidas y la relación entre ellas, especialmente porque son éstas mediante las cuales se realiza
la manipulación física de la planta. En primera instancia, se retoma el principio (ecuación 24)
bajo el cual se plantearon las dos dinámicas anteriormente expuestas, de lo cual se puede
concluir que se están mezclando dos cosas al mismo tiempo, la primera de ellas es: ¿dónde está
45
la dinámica? Con la segunda que es ¿qué se desea que suceda entre el conjunto de
servomotores y el objeto?
Para responder la primera pregunta se aborda por medio de dos ejemplos; generalmente existen
diversas formas de llegar a una ecuación diferencial que modele el comportamiento del
sistema. Por ejemplo, se observa en la figura 45 dos objetos móviles conectados con un resorte,
con masas respectivas y cuyo desplazamiento cambia al aplicarse una fuerza en el objeto de
masa M1; en este caso es posible determinar matemáticamente que las variables de estado del
sistema son la posición y la velocidad para cada uno de los objetos y adicionalmente que es la
fuerza ejercida sobre el primero de éstos corresponde a la entrada.
Figura 45 Sistema masas resorte
Esto mismo sucede con el modelo de un sistema lector de cinta magnética (figura 46). Para el
cual generalmente se tienen como variables de estado las posiciones y de la cinta de los
transportadores, la velocidad angular de los transportadores y las corrientes de cada uno de los
motores. En este caso la relación dinámica del sistema es más dispendiosa pero igualmente
existe.
Figura 46 Sistema lector de cinta magnética
Como se puede ver en ambos casos se tienen sistemas independientes; en el primer ejemplo se
tienen dos objetos móviles con determinadas características y en el ejemplo dos se tienen dos
motores con ejes acoplados en cada uno de sus ejes, y de estos ejes al centro de un disco.
Igualmente para el sistema diseñado se tienen dos componentes uno de ellos es el conjunto de
servomotores y el otro es el sensor adecuado sobre el objeto móvil.
46
La diferencia entre estos modelos y el diseñado es que en estos sistemas existe un acople, en
ambos casos de tipo mecánico, que permite integrar la interacción de sistemas independientes;
en el primer caso el acople es mediante un resorte, en el segundo mediante la cinta que está
dispuesta sobre los discos acoplados en los ejes de los motores. Retomando el prototipo que se
propone en este trabajo, la dinámica corresponde a sistemas que no tienen acople de ningún
tipo (el haz de luz no es un acople, únicamente es una condición de seguimiento) y eso se
puede evidenciar fácilmente en que ningún movimiento angular afecta directamente la
trayectoria del objeto o incluso del mismo sensor en lazo abierto. En conclusión tanto el
movimiento de los servomotores como el desplazamiento del objeto móvil satisfacen
dinámicas completamente independientes.
En este proyecto se planteó realizar el seguimiento de un objeto con trayectoria aleatoria a
través de un medio lumínico mediante un sensor de luz, sin embargo la única relación que se
puede establecer entre los servomotores y el objeto móvil, corresponde a igualar las
coordenadas de posición de cada uno de estos sistemas, como se muestra en (51) y (52).
La posición del objeto en el plano debe ser igual la posición angular reflejada en dicho
plano o viceversa, representa la transformación entre planos. Retomando las condiciones del
diseño, la posición del objeto en ninguno de los ejes en el plano de referencia, se puede
estimar ya que su comportamiento es completamente aleatorio, la única variable a manipular es
la posición angular [θ, ϕ] generada por los servomotores y cuya dinámica es la única que
realmente interviene en este sistema. Por lo tanto el lazo que se plantea bajo esta nueva
propuesta se muestra en la figura 47, donde no se contempla el controlador, debido a la
naturaleza de la ubicación del mismo dentro del lazo, pero a grandes rasgos se basa en que los
movimientos en posición del objeto móvil son la referencia del sistema.
Figura 47 Lazo de posición para el objeto
Sin embargo en este nuevo diagrama no se está contemplando aún el sensor de luz, ahora hay
que responderse ¿Cómo a través de éste es posible determinar la posición o alguna componente
Espacio de estados
Servomotores
Transformación
de Plano
+
47
del objeto móvil?, Por ejemplo, su velocidad como se planteó en un principio o en su defecto la
posiciónmisma del objeto en el plano. Para ver cuál de las dos serviría y lograr dicha relación
se procede a analizar cada uno de los casos.
1) Relación del sensor de luz con la posición del objeto
A continuación se presentan diferentes posibles trayectorias y la interacción de estás con
las posiciones en el sensor de luz, para determinar la relación planteada en el numeral. En
las figuras 48 y 49 se plantea una trayectoria circular y una cuadrada respectivamente.
a) Trayectoria circular.
Figura 48 Representación de una trayectoria circular
Si se supone que el láser siempre está apuntando el centro del sensor durante la
trayectoria, se tiene un conjunto de ángulos que permiten dicho seguimiento; sin
embargo el hecho de que el sensor siempre detecte la misma la misma fotorresistencia
encendida mientras el objeto está desplazándose, indica que no es posible determinar a
partir del sensor la posición en la que se encuentre el objeto dentro del plano.
b) Trayectoria cuadrada.
Figura 49 Representación trayectoria cuadrada
Para este caso se puede realizar la misma suposición acerca de la dirección del láser y
el seguimiento, y se sigue llegando a la misma conclusión de una forma más
Trayectoria Circular
Motores
Láser
Objeto móvil
Trayectoria Circular
Motores
Objeto móvil
Láser
48
generalizada; en teoría el sensor puede estar en cualquier parte del plano y para ningún
caso las fotorresistencias tendrán una única representación con los ángulos y por
esto no es posible su relación con la posición del objeto en el plano .
Por las razones mencionadas anteriormente se descarta una posible relación entre el sensor
de luz y la posición del objeto, en general el hecho de que el sensor tenga una referencia
variable en el tiempo y una cantidad N de combinaciones de iguales para cada una de
sus fotorresistencias, hacen este imposible.
2) Relación del sensor de luz con la velocidad del objeto.
Retomando (51) y (52), en la cual se igualan las dos posiciones a través de un cambio de
coordenadas, se plantea esta misma igualdad en términos de velocidad:
Para este par de ecuaciones es posible hacer una relación entre el sensor y el movimiento
angular, en realidad la velocidad del objeto y la del sensor son iguales (como en un
vehículo, la persona que está en el interior de este viaja a la misma velocidad con la que se
desplaza el móvil), por lo tanto:
Una vez planteada la velocidad del objeto a partir del sensor de luz, con el modelo
dinámico del servomotor que se obtuvo anteriormente, falta únicamente hallar la
transformación entre planos. Para ello se determina el siguiente escenario (figura 50) en el
cual θ, se mide a partir de la horizontal superior y debe estar únicamente relacionado con
las variables que se conocen de la geometría.
Figura 50 Geometría entre planos
De esta relación se obtienen (55) y (56) que representan la relación entre la posición en el
plano x a partir de la posición angular del servomotor .
h
49
Como se observa la transformación en el eje x para los valores de posición angular que se
tienen del motor no es única, de alguna forma para que se pueda independizar de las variables
desconocidas es necesario crear dos sistemas, uno para el rango (0°,90°) y otro entre
(90°,180°).
La derivada en tiempo para estas expresiones corresponde a (57) y (58), únicamente
considerando el eje x. Para el eje y, se tendría un sistema equivalente.
Una vez aclarado el panorama de la dinámica y sus relaciones, ahora se ha llegado a un
problema con el planteamiento del lazo de control, ya que lo que se quiere realimentar es la
proyección de la velocidad angular en el plano, sin embargo se estaría transformando el
sistema con variables de estado a uno con variables de estado ,
sistema del cual no se puede medir ninguna de las variables y para el cual no se puede realizar
un observador. Otro punto que también hay que tener presente es el de ¿Cómo plantear la
dinámica de un sistema que se comporta diferente en determinadas regiones?, como se observa
en (55) y (56), en resumen es realizar la transformación para el cual se tienen dos posibles
comportamientos según el eje donde se trabaje, como se pudo observar en (57) y (58) y del
cual no se puede hacer más que una estimación de sus variables sin poderlas realimentar
directamente. Por estas razones no se puede realizar una realimentación de estados, ni un LQR.
Para el diseño del controlador MPC pasa exactamente lo mismo, se necesita poder medir
alguna de las salidas del sistema para poder realizar la predicción.
Bajo esta conclusión la última forma de poder llevar a cabo este lazo de control sería poder
transformar la velocidad del objeto al plano , esto se puede lograr a través de la ecuación
(44) y (45); sin embargo, esta relación únicamente es válida si se pasa de una fotorresistencia a
la inmediatamente siguiente o anterior, y no para saltos de a dos o más, adicionalmente para
esta transformación es necesario tener el valor de las fotorresistencias en tiempo real. Cabe
mencionar que dada la baja cantidad de fotorresistencias en el sensor la aproximación de la
velocidad es bastante pobre.
50
Explorando otra posibilidad para el seguimiento lumínico, se planteó el uso de algoritmos en el
cuál el sensor actúa como elemento fundamental y donde la dinámica no juega un rol tan
importante como en los casos expuestos anteriormente, este planteamiento de algoritmos se
quiso realizar con el fin de usar el sensor como un componente determinante en el diseño y no
solo un indicador. Por esta razón se elaboró un algoritmo de control, en el cual se obtienen
datos del sensor y según esta información se desplazan los servomotores.
En la figura 51 se observa diagrama de flujo correspondiente a la lógica del algoritmo, en el
cual se suma o resta según sea el caso un número dado de grados, calculados previamente
según la altura a la que se encuentren los servomotores (ver anexo E.1), se evalúa que tan lejos
se encuentra del centro y según esto se envía a Arduino la información para que éstos se
muevan. A la altura que se realizaron las pruebas (1m) los ángulos de corrección son de 0,4º y
0,9º para el motor del eje y según lo alejado que se encuentre de la fila 3 que es el objetivo, es
decir para las posiciones [, ] y respectivamente, de igual manera para el
servomotor del eje x estos valores son 0,4º y 0,8º pero teniendo en cuenta las columnas, es
decir
51
Figura 51 Diagrama de flujo algoritmo
En el momento en que llega el dato del sensor al computador se obtiene la posición en la
matriz donde está apuntando la luz, y con este dato se realiza la corrección, enviando los datos
a la tarjeta de desarrollo, sin embargo, puede que ya se esté interpretando un nuevo dato del
sensor sin que el servomotor haya modificado su posición o realizado la acción de control, es
por eso que para modificar nuevamente el valor a enviar, se espera a que se reciba un dato
diferente al anterior o que haya pasado un tiempo de espera, esto con el fin de garantizar que el
servomotor pueda realizar acciones de corrección de forma correcta.
52
Figura 52 Control por algoritmos
Sin embargo para este planteamiento y para los anteriores hay un punto que aún no se ha
mencionado; corresponde al enchanche entre el haz de luz y el objeto móvil. Esto es
importante en dos instantes, uno de ellos es el inicio, en el cual el objeto puede estar en
cualquier posición del plano y el segundo es el caso en que la luz se pierde del sensor.
Para dar solución a estos casos se realizó un algoritmo de búsqueda (Ver Anexo E.5) el cual
consiste en mover los servomotores en forma de espiral, empezando en el punto de origen de
los servomotores [90°,90°] y se detiene cuando alguno de los puntos de la matriz del sensor
detecte iluminado, es decir, encuentre el objeto. En caso que no encuentre y se llegue al límite
establecido por el usuario, retorna a la posición inicial. La implementación se realizó en
Simulink (ver figura 52) y a grandes rasgos lo que en desea es poder alternar la búsqueda con
el seguimiento; de tal forma que si un algoritmo falla el otro garantiza que se permita la
continuación del seguimiento.
Una idea más clara de cómo se realiza la búsqueda, se observa la figura 53, donde se muestra
en el eje x el movimiento del servomotor que sostiene el láser y en el eje y el servomotor que
está sosteniendo este conjunto.
Las unidades de estas medidas están dadas en µs y representan el ancho de pulso utilizado para
ubicar a cada uno de los servomotores (ver tabla 1). El trazo independiente en ancho de pulso
en el tiempo para cada uno de los motores se observa en la figura 54.
53
Figura 53 Trayectoria algoritmo de búsqueda x vs y
Figura 54 Trayectoria algoritmo de búsqueda motor eje x y eje y en tiempo
Para verificar que el funcionamiento de los algoritmos es el correcto, se implementó sobre las 3
posibles trayectorias definidas en el objeto móvil (Recta, Circular y Cuadrada); para lo cual se
estará constantemente observando la posición angular de los servomotores mientras sigue el
sensor de luz dispuesto sobre el objeto. (Ver videos Anexo F)
La primera trayectoria realizada corresponde a una línea recta la cual recorre de principio a fin
devolviéndose una y otra vez, en la figura 55 se observa el resultado para el seguimiento de
dicho trayecto sumándole la implementación del algoritmo de búsqueda.
1100 1200 1300 1400 1500 1600 1700 1800 19001100
1200
1300
1400
1500
1600
1700
1800
1900
Laser
(us)
Base (us)
10 20 30 40 50 60 70 80 90 1001100
1200
1300
1400
1500
1600
1700
1800
1900
Laser
Tiempo
10 20 30 40 50 60 70 80 90 1001100
1200
1300
1400
1500
1600
1700
1800
1900
Tiempo
Base
54
Figura55 Búsqueda con Seguimiento trayectoria recta
Para la trayectoria circular se realiza un procedimiento similar y se puede observar en la figura
56, que al igual que las gráficas anteriores, se muestran los dos ejes dibujados para poder
detallar la trayectoria de seguimiento.
Figura 56 Seguimiento trayectoria circular
1300 1400 1500 1600 1700 1800 1900 20001200
1250
1300
1350
1400
1450
1500
1550
Base (us)
Laser
(us)
1250 1300 1350 1400 1450 1500 1550 1600 1650 17001150
1200
1250
1300
1350
1400
1450
1500
1550
Laser
(us)
Base (us)
55
Por último el seguimiento de la trayectoria cuadrada se observa en la figura 57.
Figura 57 Seguimiento trayectoria cuadrada
1320 1340 1360 1380 1400 1420 1440 1460 1480 1500 15201400
1420
1440
1460
1480
1500
1520
1540
1560
1580
1600
Laser
(us)
Base (us)
56
5. ANÁLISIS DE RESULTADOS
Como se ha expuesto durante el desarrollo y en los objetivos de este trabajo hay tres aspectos
importantes en cuanto a resultados y su análisis que se van a trabajar en esta sección, el primero y
más importante de ellos corresponde al diseño y construcción de un prototipo de pruebas
compuesto por un cuerpo que se desplaza aleatoriamente por un plano y un haz de luz
direccionado capaz de moverse en dos direcciones, el segundo en la implementación de algún
sistema de control que permita obtener una dirección de iluminación sobre el objeto en
movimiento de manera inalámbrica y por último la implementación de dos leyes de control para
comparar los resultados de desempeño.
Retomando punto por punto se expone a continuación los resultados obtenidos para la
construcción del prototipo de pruebas. Por una parte se tiene el diseño del objeto para el cual se
utilizó el kit de LEGO MINDSTORM, por medio de éste fue posible programar diversas
trayectorias, ya fueran algunas definidas como un circulo o un cuadrado o en línea recta, o
simplemente generar un comportamiento completamente aleatorio. Durante dicha programación
se determinó que para generar una trayectoria específica de manera exacta, se tendrían que
abordar teorías más elaboradas, como la odometría, acerca de cómo está variando el robot para
poder ejercer acciones de control sobre la trayectoria deseada. Sin embargo, de una manera más
intuitiva fue posible el desarrollo de las trayectorias, por ejemplo si se desea un movimiento
lineal, los dos motores giran a la misma velocidad; o si se quiere una trayectoria circular, un motor
anda más rápido que el otro. Por lo tanto, durante las pruebas realizadas sobre objeto para
corroborar la generación de dichas trayectorias; se pudo apreciar que mediante estos métodos
intuitivos se logra una muy buena aproximación de la trayectoria deseada, es claro que factores
como la fricción o irregularidades sobre la superficie repentinamente pueden generar una
desviación leve en las ruedas.
Otro de los componentes de este objeto es el sensor de luz diseñado dispuesto sobre él, para su
elaboración se tuvieron en cuenta todas consideraciones mencionadas en la sección de
especificaciones del trabajo. Como para probar el desempeño de este sensor en cuanto a velocidad
de respuesta ya que pasa por varias fases: una correspondiente a captar la luz, otra a la
comparación, y la última a la multiplexación de los datos y envío de estos a través de la tarjeta
Xbee al computador, es un poco complicado se estimó de forma teórica de la siguiente manera
para cada una de las fotorresistencias como se observa en la tabla 4:
57
FOTORESISTENCIA 1 2 3 4 5
TIEMPO DE ESPERA DE BIT 314 315 316 317 318
TIEMPO DATOS 0.032656 0.03276 0.032864 0.032968 0.033072
FOTORESISTENCIA 6 7 8 9 10
TIEMPO DE ESPERA DE BIT 302 303 304 305 306
TIEMPO DATOS 0.031408 0.031512 0.031616 0.03172 0.031824
FOTORESISTENCIA 11 12 13 14 15
TIEMPO DE ESPERA DE BIT 289 290 291 292 293
TIEMPO DATOS 0.030056 0.03016 0.030264 0.030368 0.030472
FOTORESISTENCIA 16 17 18 19 20
TIEMPO DE ESPERA DE BIT 276 277 278 279 280
TIEMPO DATOS 0.028704 0.028808 0.028912 0.029016 0.02912
FOTORESISTENCIA 21 22 23 24 25
TIEMPO DE ESPERA DE BIT 263 264 265 266 267
TIEMPO DATOS 0.027352 0.027456 0.02756 0.027664 0.027768
Tabla 4 Tiempos de respuesta en la comunicación
La respuesta es de 0.033072 segundos en el peor de los escenarios, lo que comparando con la
velocidad de respuesta de los servomotores es casi 10 veces más pequeña, por lo tanto es un
tiempo suficiente para la aplicación deseada, ya que el objeto no se puede mover tan rápido
debido al área reducida que cubre el arreglo de fotorresistencias. Este problema de cobertura del
sensor es cuestión de tamaños, entre mayor sea el área generada por el sensor, mayor será el
circuito por la cantidad de veces que hay que comparar, lo que no lo hace tan práctico ni discreto a
la hora del montaje sobre el objeto.
El último componente del objeto y tal vez el más importante corresponde al sistema brújula /
motor que mueve el sensor en sentido opuesto al movimiento del objeto, para poder siempre tener
las fotorresistencias identificadas y referenciadas a una única posición. Este sistema no corrige
exactamente el valor del giro realizado por el objeto puesto que para la implementación de un
sistema así se necesitarían dos servomotores que garantizaran dicha exactitud. Sin embargo, la
brújula si permite la reubicación bajo un pequeño margen de error, este error se ve reflejado para
algunos valores de giro como una pequeña oscilación del sensor, la cual no afecta
significativamente el posicionamiento del sensor.
Como segunda instancia se tiene la interfaz de comunicación entre los datos del sistema y la
plataforma Matlab y Simulink, la cual se planteó como la indicada para la elaboración de los
controladores por su facilidad en la visualización de resultados. Dicha interfaz permitió la
implementación del seguimiento y búsqueda por algoritmos mencionado anteriormente.
58
Como se observó en las figuras 55, 56 y 57 el movimiento de los servomotores representaba cada
una de las trayectorias deseadas, y como se puede apreciar, el seguimiento se realiza en pequeños
trayectos lineales, que no siguen exactamente la trayectoria pero si se acercan a ésta de forma
bastante cercana.
La mayor dificultad para realizar el seguimiento está directamente relacionada con el sensor; es
decir, entre más juntas estén las fotorresistencias mejor será el seguimiento y la velocidad del
mismo. Esto se corroboró con varias versiones del sensor realizadas, en las cuales se tenían dichos
componentes un poco distanciados entre ellos; la pérdida durante el seguimiento de la trayectoria
era casi inmediata. En muchos casos la luz pasaba exactamente por el espacio que las separaba y
ninguna fotorresistencia generaba el bit de activación; el carro por supuesto, seguía su trayectoria
y se perdía. No hay simulación de estos datos ya que precisamente podía empezar a utilizarse el
algoritmo de búsqueda más veces y durante la mayoría del tiempo de simulación, ya que cuando
se enganchaba nuevamente, volvía a perderse.
En las últimas versiones del sensor donde la distancia de separación es mínima y la existente se
debe a la forma del componente mismo, las pruebas mejoraron significativamente Con esta
disposición fue posible generar las figuras anteriormente descritas y así mismo aumentar la
velocidad del objeto para que la búsqueda se realizase de forma más rápida. Sin embargo, cuando
la luz pasa por un espacio de no cobertura hay pérdida del seguimiento; evidentemente con menor
probabilidad, y en algunos casos mientras sale del espacio puede lograr engancharse nuevamente.
Definitivamente entre más grande sea la matriz de fotorresistencias del sensor habrá una menor
posibilidad de perder el objeto durante el seguimiento y se podrá trabajar con mayor velocidad las
trayectorias del mismo; sin embargo como se mencionó anteriormente entre más grande sea dicha
matriz, mayor será el tamaño físico del circuito que compone el resto del sensor.
Para el tercero de los puntos, ya una vez planteados y analizados los posibles escenarios de cómo
realizar este seguimiento lumínico, se procede a revisar el detalle de la problemática planteada
para así poder llegar a conclusiones más certeras y a recomendaciones para el fututo estudio y
continuación de la problemática expuesta en este trabajo.
Como se manifestó durante el desarrollo del trabajo, la mayor dificultad se encuentra en el
planteamiento de la dinámica del sistema. Solo a través del planteamiento de muchos posibles
modelos, que se logró llegar a un mejor entendimiento del caso en estudio. En general para todas
las propuestas realizadas, se llega a la conclusión de que se necesita conocer alguna condición
sobre el objeto, en especial su posición que es la única que permite tener el sistema referenciado.
Sin el conocimiento de esta variable, solo es posible realizar estimaciones y transformaciones del
sistema controlable a uno sobre el que no se puede medir absolutamente nada. Hay que recordar
59
que para poder determinar una ley de control por los métodos propuestos se deben considerar
tanto las restricciones como las condiciones asociadas al buen desempeño, como lo es en este
caso, tanto el LQR como el MPC necesitan de una medición física de por lo menos una de sus
variables o salidas, para poderlos llevar a cabo. El sensor de luz que es quien finalmente interactúa
en con el objeto, no es más que un indicador y no aporta ningún componente dinámico acerca del
objeto.
En resumen se pueden plantear dos posibles formas de lograr este seguimiento; la primera de ellas
corresponde a tener la posición del objeto referenciado al plano , y a partir de esta posición
ir generando la referencia del sistema conforme a cada movimiento realizado por el objeto. Por lo
que se tendría un lazo en seguimiento de posición angular, sobre el cuál se pueden realimentar los
estados ya que el diseño del prototipo realizado así lo permite, de hecho no haría falta la creación
de un observador para poder realizar los controladores.
Para obtener la posición en cada instante del proceso se pueden hacer uso de varias técnicas tales
como, sensores de posición sobre el área de cobertura en el plano, o un sistema de reconocimiento
de imágenes como se plantea en[13], [14], [15] y en la tesis doctoral “Estimación de posición y
seguimiento de objetos móviles sobre imágenes panorámicas” [16], o mediante la odometría cuyo
estudio se basa en la estimación de la posición de robots con ruedas mientras se realiza una
trayectoria, en estos casos se utiliza la información de las ruedas para estimar cambios de posición
a lo largo del tiempo.
60
6. CONCLUSIONES
Se realizó el diseño y construcción de un prototipo de pruebas que permitió realizar
seguimiento lumínico a un objeto que se desplaza por un plano de forma aleatoria a través de
un sensor de luz. Para garantizar el buen funcionamiento de dicho seguimiento es necesario
mantener referenciado el sistema a un plano específico por medio de una brújula o un sistema
de ubicación que permita este resultado.
Solo a partir del planteamiento de las diferentes dinámicas que podría tener el sistema, fue
posible llegar a una mejor comprensión del mismo, de tal forma que se puede asegurar que el
sistema de posicionamiento de la luz y el objeto móvil no están ligados de ninguna manera
dinámicamente. Solo es posible el planteamiento de un lazo de control en el cual el
movimiento del objeto móvil sea la referencia a seguir para el otro sistema; esto representa un
primer acercamiento de cómo realizar el control de la misma y los métodos mediante los cuales
sería posible.
La implementación de los controladores LQR y MPC, no se pudo llevar a cabo ya que el
sistema dinámico y las características con las que se trabajó, no permiten conocer las variables
necesarias para hacer esto posible. La mayor dificultad nace de no poder generar a partir de las
mediciones un sistema de referencia suficiente para identificar cómo se relacionan los
comportamientos un sistema con el otro.
El trabajo no permitió comparar entre diferentes tipos de controladores, pero deja la
posibilidad del estudio de teorías mucho más elaboradas como lo sería el planteamiento de un
modelo de predicción para estimar la posición del objeto en cualquier parte del plano y sin
importar la trayectoria del objeto. Incluso de la evaluación de este sistema como uno híbrido,
que junto a la motivación inicial de este trabajo (control distribuido), se abrirían más
posibilidades para continuar el estudio de este sistema en particular.
La consideración de modelos de control más intuitivos como lo son los algoritmos, permite en
situaciones, como la expuesta en este trabajo, lograr resultados más rápidos en cuanto a
desempeño y compresión de la lógica de control. Para este método en particular el sensor es el
elemento más importante del sistema lo que permite en aplicaciones a futuro de este sistema, la
elaboración de algoritmos basados en redes neuronales.
El seguimiento lumínico de un objeto que se desplaza aleatoriamente sobre un plano a través
de un sensor de luz, solo fue posible realizarlo por medio de algoritmos y métodos de
búsqueda. El planteamiento de realizar este sistema por medio de sensores de posición, se sale
61
del alcance de este trabajo ya que el sensor de luz no jugaría ningún papel importante durante
el seguimiento. Resultado que se opone contundentemente con las conclusiones en cuanto a la
utilidad del sensor de luz que se obtuvieron con el método del control por algoritmos; en el
cual éste dispositivo es quien asegura que se pueda realizar un seguimiento y que sus
características tales como resolución, separación y diseño, imponen las condiciones necesarias
para el seguimiento.
62
7. BIBLIOGRAFÍA
[1] A. Ferramosca, “Control de sistemas con puntos de cambiantes operación,” Universidad de
Sevilla, 2007.
[2] A.G. Higuera, El Control Automático en la Industria, Universidad de Castilla La Mancha,
2005.
[3] L. Moreno and S. Garrido, Ingeniería de Control, Editorial Ariel, 2004.
[4] V. Cuadrado Alvarado, “Control Predictivo de Procesos,” Control, pp. 9-16.
[5] J.P. Hespanha, “Undergraduate Lecture Notes on LQG / LQR controller design,” 2007.
[6] J.S. Bay, Fundamentals of Linear State Space Systems, New York: WCB/McGraw-Hill,
1999.
[7] C.-T. Chen, Linear Systems Theory and Design, Oxford University Press, 1999.
[8] C. Bordóns Alba, Control Predictivo: Metodología, tecnología y nuevas perspectivas,
Universidad de Sevilla, 2000.
[9] F. Rodriguéz Rubío and M.J. Lópes Sanchés, Control Adaptativo y Robusto, Sevilla,
España: Universidad de Sevilla, 1996.
[10] D. Caro, Wireless networks for industrial automation, 2008.
[11] I. Técnico, P. Zigbee, J.M. Moreno, and D.R. Fernández, “Informe Técnico: Protocolo
ZigBee (IEEE 802.15.4),” 2007.
[12] I.M. Ltda, “XBee Módulos de transmisión inalámbrica.”
[13] F.-B.D. Buchelli-Imbachí, F, Bravo-Montenegro, D, Pencue-Fierro, L, “Sistema De
Seguimiento Bidimensional Mediante Técnicas De Control Digital Y Visión
Computacional Two-Dimensional Tracking System Through Digital Control And
Artificial Vision Techniques,” Techniques, vol. 43, 2011, pp. 1-4.
[14] M.J.T. Torres, U.D. Norte, U.D. Norte, and U.D. Norte, “Algoritmo para el Re-Enganche
de un Objeto en Seguimiento,” Engineering and Technology, 2010, pp. 1-10.
[15] A. Sánchez, C. Ramos, C.D. Vera, A.E.- Valencia, and E.D.E.L. Arte, “Seguimiento
Visual de Objetos UtilizandoTécnicas de Predicción.,” pp. 2-7.
[16] R. Rogriguez Luque, “„ Estimación de posición y seguimiento de objetos móviles sobre
imágenes panorámicas ‟,” Omni, vol. 10, 2006.