Control visual difuso de un sistema no-lineal

´ CNICO NACIONAL INSTITUTO POLITE ´ N EN CENTRO DE INVESTIGACIO ´N COMPUTACIO Control visual difuso de un sistema no-lineal Tesis que presenta el In...
0 downloads 0 Views 3MB Size
´ CNICO NACIONAL INSTITUTO POLITE ´ N EN CENTRO DE INVESTIGACIO ´N COMPUTACIO

Control visual difuso de un sistema no-lineal

Tesis que presenta el Ing. C´ esar Aar´ on P´ erez Olvera para obtener el grado de Maestro en Ciencias de la Computaci´ on

Directores de Tesis: Dr. Marco Antonio Moreno Armend´ariz Dra. Elsa Rubio Espino

M´exico D.F. 18 de Junio del 2009.

Resumen En el presente trabajo de tesis trata el dise˜ no, construcci´ on e implementaci´ on del sistema mec´ anico Plano-Esfera (PE), el sistema PE es un sistema no-lineal multivariable. Est´ a compuesto por una esfera de acero y un plano de vidrio, el plano puede rotar alrededor de los ejes perpendiculares X y Y, de esta forma la esfera se mueve bajo la influencia de la fuerza de gravedad sobre la superficie del plano. El objetivo es llevar la esfera de una posici´ on inicial a una posici´ on final dentro del plano y estabilizarla, donde la posici´ on de la esfera es controlada por la inclinaci´ on del plano. Por lo tanto se dise˜ n´ o un sistema de control basado en l´ ogica difusa con retroalimentaci´on visual. Nos permitimos dividir el sistema de control en dos sub-sistemas: el sub-sistema de tratamiento digital de im´ agenes (TDI) y el sub-sistema de control difuso tipo Mamdani. Se logro implementar el sistema de control basado en l´ ogica difusa, en un FPGA a una frecuencia de 25 MHz. La se˜ nal de retroalimentaci´ on del sistema es adquirida de una c´ amara digital con una frecuencia de muestre de 20 im´ agenes por segundo, el tratamiento digital de im´ agenes se integro en el mismo FPGA. Se optimiza el procesamiento de imagenes ya que los datos se procesan conforme son adquiridos por el sistema, lo cual representa una ventaja con respecto a equipos convencionales (PCs). Esta plataforma sirve como punto de prueba de diferentes estrategias de control para sistemas en tiempo-real.

I

Abstract In this thesis work deals with the design, construction and implementation of a mechanical system Ball-Plano (BP), the BP is a non-linear multivariable system. It consists of a steel ball and a glass plane, the plane can rotate around the perpendicular axes X and Y, in this way the ball is moving under the influence of gravity on the surface of the plane. The goal is to bring the area of an initial position to a stabilized position within the plane , where the position of the sphere is controlled by the tilt of the plane. Therefore a system based on fuzzy logic control was designed with visual feedback. The control system was divided into two sub-systems: the sub-system for digital imaging and the sub-system of Mamdani type fuzzy control. The Control system based on fuzzy logic was implemented in an FPGA at a frequency of 25 MHz, the signal feedback of the system was acquired from a digital camera with a sampling frequency of 20 frames per second, digital image processing was integrated into the FPGA. Image processing is optimized due to that the image is being processed while is acquired by the system, which represents an advantage over conventional computers (PCs). This platform serves as a test of different control strategies for real-time systems.

II

Agradecimientos A mis Padres J. Ascensi´ on P´erez Vera y Ma. Isidora Olvera Govea, por el apoyo incondicional durante toda mi formaci´ on acad´emica. A mis asesore Dr. Marco Antonio Moreno Armed´ ariz y Dra. Elsa Rubio Espino, por su dedicaci´ on y paciencia para llevar a buen t´ermino la elaboraci´ on de esta tesis. Al CONACYT y a la SIP por el apoyo econ´ omico brindado, sin el cual el presente trabajo de tesis no ser´ıa posible. A V´ıctor Maruri y Altera Corporation por la donaci´ on de equipo y licencias de Quartus II.

III

´Indice general 1. Introducci´ on. 1.1. Arquitectura de control visual. 1.2. Control basado en logica difusa. 1.2.1. Tipos de fuzificadores. . 1.2.2. Tipos de defuzificadores.

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

2. Estado del Arte.

1 1 2 3 5 6

3. Modelo del sistema Plano-Esfera. 3.1. Introducci´ on. . . . . . . . . . . . . . . . . . . . . . 3.2. Modelo del sistema Plano-Esfera: Parte mec´ anica. 3.2.1. Ecuaci´ on de Euler-Lagrange. . . . . . . . . 3.3. Modelo del sistema de visi´ on. . . . . . . . . . . . . 3.3.1. Proyecci´ on perspectiva. . . . . . . . . . . . 3.3.2. Factor de escala de la imagen digitalizada. . 3.3.3. Caso del sistema Plano-Esfera . . . . . . . . 3.4. M´ odelo completo del sistema Plano-Esfera . . . . .

. . . . . . . .

8 8 8 9 14 15 17 18 19

. . . . . . . . . .

21 21 22 22 23 27 27 27 28 29 29

5. Experimentos y resultados. 5.1. M´ odulo de visi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Control difuso tipo Mamdani . . . . . . . . . . . . . . . . . . . . . . . . . .

30 30 32

6. Conclusiones.

44

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

4. Control del sistema Plano-Esfera con c´ amara fija. 4.1. Introducci´ on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Sistema de tratamiento digital de im´ agenes implementado en FPGA. 4.2.1. Funci´ on de umbral. . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2. Operador morfol´ ogico de erosi´ on. . . . . . . . . . . . . . . . . 4.2.3. C´ alculo del centroide . . . . . . . . . . . . . . . . . . . . . . . 4.3. Control del sistema Plano-Esfera. . . . . . . . . . . . . . . . . . . . . 4.3.1. Fuzificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2. Base de conocimiento . . . . . . . . . . . . . . . . . . . . . . 4.3.3. Mecanismo de inferencias . . . . . . . . . . . . . . . . . . . . 4.3.4. Defuzificaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . .

IV

. . . . . . . .

. . . . . . . . . .

. . . . . . . .

. . . . . . . . . .

. . . . . . . .

. . . . . . . . . .

´INDICE GENERAL

V

7. Trabajos Futuros.

45

Bibliograf´ıa

45

´Indice de figuras 1.1. Configuraciones b´ asicas de sistemas de visi´ on. . . . . . . . . . . . . . . . . . 1.2. Sistemas de control con retroalimentaci´ on visual basados en imagen. . . . .

2 2

3.1. Diagrama del sistema plano-esfera. . . . . . . . . . . . . . . . . . . . . . . . 3.2. Geometr´ıa de la c´ amara y proyecci´ on perspectiva. . . . . . . . . . . . . . . .

9 15

4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9.

Sistema de control de lazo cerrado . . . . . . . . . . . . . . . . . Imagen I(u, v), esfera sobre el plano. . . . . . . . . . . . . . . . . Comparador de 10-bits . . . . . . . . . . . . . . . . . . . . . . . . Imagen binaria resultado de la funci´ on de umbral . . . . . . . . . Circuito equivalente de la operaci´ on morfol´ ogica de erosi´ on. . . . Simulaci´ on de la operaci´ on morfol´ ogica de erosi´ on en un FPGA. . Distribuci´ on de los conjuntos difusos de entrada . . . . . . . . . . Comportamiento de las conjuntos difusos de entrada y salida. . . Distribuci´ on de los conjuntos difusos de salida . . . . . . . . . . .

5.1. Sistema plano-esfera . . . . . . . . . . . . . . . . 5.2. M´ odulo de visi´ on para el sistema plano-esfera. . . 5.3. Im´ agenes del sistema plano-esfera procesadas por 5.4. Comportamiento del sistema PE . . . . . . . . . 5.5. Comportamiento del sistema PE . . . . . . . . . 5.6. Comportamiento del sistema PE . . . . . . . . . 5.7. Comportamiento del sistema PE . . . . . . . . . 5.8. Comportamiento del sistema PE . . . . . . . . . 5.9. Comportamiento del sistema PE . . . . . . . . . 5.10. Comportamiento del sistema PE . . . . . . . . . 5.11. Comportamiento del sistema PE . . . . . . . . . 5.12. Comportamiento del sistema PE . . . . . . . . . 5.13. Comportamiento del sistema PE . . . . . . . . . 5.14. Comportamiento del sistema PE . . . . . . . . . 5.15. Comportamiento del sistema PE . . . . . . . . .

VI

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

22 23 23 24 26 26 28 29 29

. . . . . . . . . . . . . . . . . . . . . . . . el m´ odulo de visi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

30 31 32 32 33 34 35 36 37 38 39 40 41 42 43

´Indice de tablas 4.1. Tabla de verdad de Q (u, v) = f (S (u, v)) . . . . . . . . . . . . . . . . . . . 4.2. Conjunto de reglas basadas en un experto. . . . . . . . . . . . . . . . . . . .

25 29

5.1. C´ alculo de centroide de Fig. 5.3 . . . . . . . . . . . . . . . . . . . . . . . . .

31

VII

Cap´ıtulo 1

Introducci´ on. El presente trabajo de tesis, trata del modelado, an´ alisis y control visual de un sistema Plano-Esfera (PE). Este sistema consta de un sistema de visi´ on, un FPGA (Field Programmable Gate Array), un plano de vidrio y de una esfera de metal que se puede desplazar a lo largo del plano. El objetivo del sistema PE, es el de posicionar la esfera de metal en cualquier punto designado previamente sobre el plano.

1.1.

Arquitectura de control visual.

Debido a la naturaleza del objeto a manipular en algunos sistemas, como es el caso del sistema Plano-Esfera (PE), es casi imposible utilizar sensores convencionales (ultrasonicos, infrarojos, de presi´ on, etc.) que permitan adaptarse a su entorno y proporcionar informacion adecuada para realizar una determinada tarea, ya que esta depende de un conocimento a priori de su espacio de trabajo y de la localizaci´ on del objeto a manipular. Una parte importante del sistema PE es el que conforma el sistema de visi´ on, el cual tienen como ventaja principal mimetizar el sistema de visi´ on humana y obtener caracteristicas tanto del espacio de trabajo como del objeto a manipular para efectuar una estrategia de control adecuada. Para el caso de sistemas de visi´ on artificial, se dispone de dos configuraciones b´ asicas c´ amara-robot: c´ amara en mano y c´ amara fija, Figura 1.1. En la primera tiene la c´ amara montada sobre el efecto final del robot, proporciona informaci´ on solo del espacio de trabajo. En la segunda la c´ amara se encuentra fija en el espacio de trabajo, por lo que la c´ amara captura al robot y su espacio de trabajo. Existe una tercera configuraci´ on que ser´ıa la combinaci´ on de las dos anteriores. El sistema de visi´ on artificial resulta m´ as u ´ til cuando se incorpora al lazo de retroalimentaci´ on en el esquema de control. Por lo antes mencionado se requieren de dos subsistemas: el sistema de visi´ on y el sistema de control. Donde se tiene que diferenciar entre dos estrategias de sistemas con retroalimentaci´ on visual: estrategia “Mirar y mover ” y estrateria “Servo visi´ on”. La estrategia “mirar y mover ” utiliza lazos internos de control con velocidad mayor de muestreo que el sistema de visi´ on para lograr estabilizar al robot. En el caso de la “estrategia mirar y mover est´ atica”, se extraen los rasgos visuales de una 1

´ CAP´ITULO 1. INTRODUCCION.

2

(a) C´ amara en mano

(b) C´ amara fija

Figura 1.1: Configuraciones b´ asicas de sistemas de visi´ on.

imagen inicial del espacio de trabajo y la consecuencia es la acci´ on de control del robot, el robot ejecuta la tarea considerando que el espacio de trabajo no se ha modificado. Ahora en el caso de la “estrategia mirar y mover din´ amica”, la informaci´ on visual esta siendo continuamente capturada y utilizada en el lazo de control, el objeto a manipular puede encontrarse en movimiento mientras la siguiente imagen esta siendo capturada, lo que incrementa la precisi´ on en el posicionamiento. Con respecto a la “estrategia servo visi´ on”, elimina lazos internos de control y lo reemplaza con un controlador servo visual, que s´olo utiliza la informaci´ on visual para estabilizar al robot, lo que incrementa la frecuencia de procesamiento de la imagen.

(a) Mirar y mover

(b) Servovisi´ on

Figura 1.2: Sistemas de control con retroalimentaci´ on visual basados en imagen.

De acuerdo a las caracteristicas extraidas de la imagen, los sistemas de control visual pueden estar basados en posici´ on o basados en imagen. En los sistemas de control basados en posici´ on, las caracter´ısticas extraidas de la imagen en conjunto con el modelo geom´etrico del objeto y el modelo conocido de la c´ amara, se determina la posici´ on del objeto con respecto de la c´ amara. Para los sistemas de control visual basados en imagen, los valores del controlador son calculados directamente con los rasgos extraidos de la imagen, en esta u ´ ltima t´ecnica se reduce el procesamiento computacional debido a que no es necesario interpretar los rasgos obtenidos de la imagen.

1.2.

Control basado en logica difusa.

Es una t´ecnica utilizada para implementar sistemas de control que toman decisiones similares al razonamiento humano. Un controlador basado en l´ ogica difusa se puede dise˜ nar de manera que imite el proceso deductivo humano. Es decir, el proceso que las personas utilizan para inferir conclusiones de las cosas que conocen.

1.2. CONTROL BASADO EN LOGICA DIFUSA.

3

Un controlador basado en l´ ogica difusa t´ıpico consiste en cuatro componentes principales: una base de reglas, un mecanismo de inferencia difuso, una interfaz de fuzificaci´ on de las entradas y una interfaz defuzificadora de las salidas. La base de reglas almacena un conjunto de reglas IF-THEN que cuantifican el conocimiento que los humanos expertos poseen en relaci´ on a la manera de resolver problemas particulares. Esta base de conocimiento, le sirve de recurso al mecanismo de inferencia difuso, el cual toma decisiones sucesivas de cuales reglas son las m´ as relevantes a la situaci´ on corriente y aplica las acciones indicadas por esas reglas. El fuzificador toma los valores num´ericos de las entradas y los convierte en forma difusa, necesaria para poder ser procesado por el mecanismo de inferencia. En la salida, el defuzificador combina las conclusiones del mecanismo de inferencia y las convierte en un valor num´erico real para poder ser utilizado como salida del controlador.

1.2.1.

Tipos de fuzificadores.

Fuzificador “singleton”- Transforma un valor num´erico real x∗ ∈ U en un conjunto difuso “singleton” A en U, el cual tiene un valor de menbres´ıa de 1 en x∗ y 0 en todos los demas puntos de U.  1 , x = x∗ µA (x) = 0 , x 6= x∗

Fuzificador “gaussiano”- Transforma un valor num´erico real x∗ ∈ U en un conjunto difuso A en U, el cual posee la siguiente funci´ on de membres´ıa gaussiana: µA (x) = e

(xx −xc )2 2σ 2

donde xc es el valor de x donde la funci´ on gaussiana es m´ axima y σ es la desviaci´on estandar. Fuzificador “trapezoidal”- Transforma un valor num´erico real x∗ ∈ U en un conjunto difuso A en U, el cual posee la siguiente funci´ on de membres´ıa trapezoidal:  1 , si b ≤ x∗ ≤ c      ∗   1 − |b−x | , si a ≤ x∗ < b b−a   µA (x) = ∗ −c|  1 − |xd−c , si c ≤ x∗ < d     0 , de otra manera.

4

´ CAP´ITULO 1. INTRODUCCION.

donde a, b, c y d son los par´ ametros de la funci´ on trapezoidal.

Fuzificador “triangular”- Transforma un valor num´erico real x∗ ∈ U en un conjunto difuso A en U, el cual posee la siguiente funci´ on de membres´ıa triangular:  1 , si x = x∗      ∗   1 − |xc −x | , si a ≤ x∗ < xc xc −a   µA (x) = ∗ c −x |  1 − |xb−x , si xc ≤ x∗ < b   c   0 , de otra manera.

donde a y b son los par´ ametros de la funci´ on triangular y xc es el valor de x donde la funci´ on triangular es m´ axima. Seg´ un se puede observar, el fuzificador triangular es un caso especial del fuzificador trapezoidal.

1.2. CONTROL BASADO EN LOGICA DIFUSA.

1.2.2.

5

Tipos de defuzificadores.

Defuzificador de criterio m´ aximo - La salida es el valor num´erico real del punto donde la funci´ on de membres´ıa del conjunto de la salida asume su valor m´ aximo. z ∗ = cualquier punto de la altura (B) donde z ∗ es la variable num´erica de salida y B es el conjunto difuso de la salida. ´ nica. Si la altura (B) Si la altura (B) contiene un solo punto, z ∗ esta definida en forma u contiene m´ as de un punto, se pueden especificar tres defuzificadores: Defuzificador del valor m´ as peque˜ no del valor m´ aximo z ∗ = ´ınf {z ∈ altura(B)} donde ´ınf {} es la cota inferior. Defuzificador del valor m´ as grande del m´ aximo z ∗ = sup {z ∈ altura(B)} donde sup {} es la cota superior. Defuzificador del valor promedio del m´ aximo R z∗ =

z dz

altura(B)

R

dz

altura(B)

Defuzificador de centro de gravedad - Especifica la variable de salida z ∗ como el centro del ´ area cubierta por la funci´ on de membres´ıa del conjunto difuso de salida B. R µB (z) z dz v ∗ z = R µB (z) dz v

Defuzificador del promedio de los centros - En este defuzificador, tambien conocido como Centro de Sumas, el valor escalar de la variable de salida z ∗ esta determinado por el promedio de los centros de los M conjuntos difusos de salida con los pesos w, siendo igual a la altura de los conjuntos difusos correspondientes. A su vez, este metodo es el m´ as utilizado para la realizaci´ on en hardware. Pn ∗ i=1 µBi (z) w1 z = P n i=1 µBi (z)

Cap´ıtulo 2

Estado del Arte. El sistema PE esta conformado por un bal´ın que puede rodar libremente sobre un plano rigido, el sistema posee cuatro grados de libertad y s´ olo dos actuadores para la rotaci´on del plano sobre el eje x y eje y. Dadas estas condiciones lo hacen interesante como punto de prueba para el desempe˜ no de diferentes tipos de estrategias de control tales como PID, controladores basados en redes neuronales y l´ ogica difusa , etc. El antecesor de este sistema es conocido como bola-balanc´ın (ball and beam, en ingles), el cual s´ olo posee dos grados de libertad y un actuador. Algunos ejemplos en la literatura del sistema PE son: [5] donde el prototipo del sistema PE fue de dise˜ no propio, donde se utiliz´ o un controlador PID discreto, as´ı como modificaciones al implementar un filtro de primer orden en la parte derivativa del PID, con lo que se logr´ o incrementar la distancia hacia los extremos del plano y el tiempo de posicionamiento de la esfera mejor´ o. Otra modificacion fue el control con funci´ on de saturaci´on en la parte proporcional para eliminar el sobretiro presentado en el controlador con filtro en la parte derivativa. Por u ´ ltimo se prob´ o el control PID con generaci´ on de trayectoria mejorando la rapidez con que la esfera llegaba a la referencia, ademas se logr´ o posicionar la esfera en cualquier parte de la mesa. En [3] despu´es de haber linealizado el modelo matematico del sistema PE, concluyeron que el uso del controlador PID no era recomendable, por lo que utilizaron un controlador de adelanto, con el cual lograron estabilizar el sistema. La plataforma de experimentaci´ on en la que se basaron no fue de dise˜ no propio, fue adquirida a la empresa HUMOSOFT [9][10] dedicada a la venta y asesor´ıa de modelos educativos para ingenier´ıa de sistemas de control entre otros. En [6] y [11] tambi´en se utiliz´ o esta plataforma para el control de seguimiento usando m´etodos de control difuso. Un esquema tres niveles de control de comportamiento difuso es mostrado en [16], el nivel m´ as bajo del esquema est´ a ocupado por un control de rastreo difuso tipo Takagi-Sugeno que controla el bal´ın para seguir la trayectoria deseada. Los niveles superiores, supervisi´ on y planeaci´ on son controladores difusos tipo Mamdani. En [1] apartir de la se˜ nal entrada y salida del controlador PD previamente dise˜ nado, fue 6

7 obtenido un conjunto de reglas difusas con ayuda de un controlador difuso de aprendizaje en linea. Mientras que en [12], el sistema PE consiste en un mecanismo paralelo espacia de cinco enlaces donde los enlaces son conectados con 5 uniones de 1 grado de libertad, para esta plataforma es propuesto dos esquemas de de control. El primero es basado en un sistema difuso supervisado y un controlador PID. El segundo esta basado en un controlador por modo deslizante con un aproximador difuso.

Cap´ıtulo 3

Modelo del sistema Plano-Esfera. 3.1.

Introducci´ on.

El Sistema Plano-Esfera (PE) se muestra en la Figura 3.1, es un sistema no-lineal multivariable. Est´ a compuesto por una esfera de acero y un plano de vidrio, el plano puede rotar alrededor de los ejes perpendiculares X y Y, de esta forma la esfera se mueve bajo la influencia de la fuerza de gravedad. El objetivo es llevar la esfera de una posici´ on inicial a otra dentro del plano y estabilizarla, la posici´ on de la esfera es controlada por la inclinaci´ on del plano, para ello se utilizaron dos servomotores y una c´ amara digital CMOS como sensor de retroalimentaci´ on para conocer la posici´ on de la esfera sobre el plano. Con el dato de la posici´ on en coordenadas de la imagen, se realiza control basado en imagen utilizando la “estrategia mirar y mover ”. Un aspecto interesante de este sistema es que, posee cuatro grados de libertad y s´ olo dos actuadores. Se utiliz´ o un control difuso tipo Mamdani, para calcular la posici´ on angular deseada del plano y que la esfera se mueva en la direcci´on apropiada. Con la posici´ on angular deseada, se generan las se˜ nales de control para los servomotores que mover´ an el plano. Finalmente, la esfera rodar´ a bajo la fuerza de gravedad hasta el punto de consigna.

3.2.

Modelo del sistema Plano-Esfera: Parte mec´ anica.

Las variables del sistema PE son las siguientes: x(t) (m) es la posici´ on de la esfera a lo largo del eje x, y(t) (m) es la posici´ on de la esfera a lo largo del eje y, θx (t) (rad) es el desplazamiento angular del plano con respecto del eje x, θy (t) (rad) es el desplazamiento angular del plano con respecto del eje y. τx (t) es el torque del motor ejercido al plano en el eje x, τy (t) es el torque del motor ejercido al plano en el eje y. El sistema PE se puede considerar como un sistema compuesto por dos cuerpos rigidos. El plano tiene dos grados de libertad para la rotaci´ on sobre el eje x y eje y. La esfera tiene dos grados de libertad para la traslaci´ on a lo largo del plano (x,y). Por lo tanto el sistema completo tiene cuatro grados de libertad x, y, θx y θy , elegidos como coordenadas generalizadas de posici´ on, los actuadores son 2, τx y τy relacionados con el movimiento del plano.

8

´ 3.2. MODELO DEL SISTEMA PLANO-ESFERA: PARTE MECANICA.

9

Figura 3.1: Diagrama del sistema plano-esfera.

3.2.1.

Ecuaci´ on de Euler-Lagrange.

Para obtener el modelo matem´ atico del sistema PE se utiliz´o el m´etodo de EulerLagrange por medio de las coordenadas generalizadas de posici´ on (x, y, θx , θy ). El lagrangiano del sistema se obtuvo de la siguiente forma: L (t) = EC (t) − EP (t)

(3.1)

Donde: L(t) = Lagrangiano. Ec (t) = Energ´ıa Cin´etica. Ep (t) = Energ´ıa Potencial. Dado que el sistema presenta movimientos de traslaci´ on y rotaci´ on tenemos que:

EC (t) = ET ra (t) + ERot (t) 1 2 (t) ET ra (t) = M vcdm 2 1 ERot (t) = Icdm ω 2 (t) 2

(3.2) (3.3) (3.4)

Donde: ET ra (t) = Energ´ıa de traslaci´ on. ERot (t) = Energ´ıa de rotaci´ on. Para el caso donde la esfera se comporta como un cuerpo r´ıgido uniforme con movimiento de rodamiento suave, tenemos: a) La ET ra (t) del centro de masa de la esfera es:

1 2 2 M r˙ (t)

b) La ERot (t) de la esfera alrededor de su centro de masa es:

1 2 Icdm



2 r(t) ˙ R

Cuando la esfera se comporta como una particula en movimiento que sigue una trayectoria circular. a) La ET ra (t) del centro de masa de la esfera es: b) La ERot (t) del centro de masa de la esfera es:

1 2 2 M s˙ (t) 1 ˙2 2 Icdm θ (t)

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

10

Sustituyendo la eneg´ıa de traslaci´ on y rotaci´ on en (3.3) y (3.4) tenemos: ET ra (t) = ERot (t) =

1 1 M r˙ 2 (t) + M s˙ 2 (t) 2 2  2 1 r(t) ˙ 1 Icdm + Icdm θ˙2 (t) 2 R 2

(3.5) (3.6)

La Energ´ıa Potencial del sistema PE se obtiene de la siguiente forma: EP (t) = M Gh

(3.7)

Donde: S´ımbol ω (t) θx (t) , θy (t) ˙ θ(t) x (t) , y (t) r(t) ˙ s(t) ˙ Icdm M R G h τx (t) τy (t)

Descripci´ on Velocidad angular de la esfera alrededor de su centro de masa, 2 y˙ 2 (t) con ω (t) = x˙ (t)+ . R2 Posici´ on angular del plano Velocidad angular del plano, con θ˙2 (t) = θ˙x2 (t) + θ˙y2 (t). Posici´ on de la esfera sobre el plano Velocidad lineal de la esfera, con r˙ 2 (t) = x˙ 2 (t) + y˙ 2 (t) . Velocidad lineal debido a la rotaci´ on (longitud del arco),  2 con s˙ 2 (t) = x (t) θ˙x (t) + y (t) θ˙y (t) . 2 2 5MR .

Momento de inercia de la esfera es, Masa de la esfera. Radio de la esfera. Aceleraci´ on debido a la gravedad. Altura. h = x sin(θx (t)) + y sin(θy (t)) Torque aplicado al plano en el eje x Torque aplicado al plano en el eje y

Unidades rad rad rad/s m m/s m/s Kg m2 Kg m m/s2 m Kg m2 /s2 Kg m2 /s2

Sustituyendo la energ´ıa potencial y cin´etica en (3.1): L(t) =

2  1  1 M x˙ 2 (t) + y˙ 2 (t) + M x (t) θ˙x (t) + y (t) θ˙y (t) + 2 2  2   1 x˙ (t) + y˙ 2 (t) 1 ˙2 (t) + θ˙2 (t) + Icdm + I θ cdm x y 2 R2 2 −M G (x sin(θx (t)) + y sin(θy (t)))

(3.8)

Con ayuda de (3.8), se obtienen las ecuaci´ ones que rigen el movimiento del sistema PE por medio de las ecuaci´ ones de Euler-Lagrange, entonces: " # d ∂L(t) ∂L(t) − = 0 (3.9) · dt ∂ x(t) ∂x(t)   d  ∂L(t)  ∂L(t) − = τx (t) (3.10) · dt ∂θx (t) ∂ θx (t)

´ 3.2. MODELO DEL SISTEMA PLANO-ESFERA: PARTE MECANICA. " # d ∂L(t) ∂L(t) − · dt ∂ y(t) ∂y(t)   d  ∂L(t)  ∂L(t) − · dt ∂θy (t) ∂ θy (t)

11

= 0

(3.11)

= τy (t)

(3.12)

Evaluando la derivada parcial en (3.9): ∂ [L(t)] = M y (t) θ˙x (t) θ˙y (t) + M x (t) θ˙x (t) θ˙x (t) − M G sin θx (t) ∂x(t)   ∂ Icdm [L(t)] = M + 2 x˙ (t) · R ∂ x(t) # "   ∂ Icdm d [L(t)] = M + 2 (¨ x (t)) · dt ∂ x(t) R " #   d ∂ Icdm ∂ [L(t)] = M+ 2 x [L(t)] − ¨ (t) − M y θ˙x (t) θ˙y (t) · dt ∂ x(t) ∂x(t) R − M xθ˙x (t) θ˙x (t) + M G sin θx (t)



Icdm M+ 2 R



x ¨ (t) − M x (t) θ˙x2 (t) − M y (t) θ˙x (t) θ˙y (t) + M G sin θx (t) = 0

(3.13)

Evaluando la derivada parcial en (3.10):

 d  dt

∂ ·

∂ θx (t)

∂ [L(t)] ∂θx (t) ∂ [L(t)] · ∂ θx (t)   d  ∂ [L(t)] · dt ∂ θx (t)  ∂ [L(t)] − [L(t)] ∂θx (t)

= M Gx (t) cos θx (t) = M x (t) y (t) θ˙y (t) + M x2 (t) θ˙x (t) + Icdm θ˙x (t)     = M xy θ¨y + xy˙ θ˙y + xy ˙ θ˙y + M x2 θ¨x + 2xx˙ θ˙x + Icdm θ¨x     = M xy θ¨y + xy˙ θ˙y + xy ˙ θ˙y + M x2 θ¨x + 2xx˙ θ˙x + Icdm θ¨x + M Gx (t) cos θx (t)

 Icdm + M x2 θ¨x +2M xx˙ θ˙x +M xy θ¨y +(M xy˙ + M xy) ˙ θ˙y +M Gx (t) cos θx (t) = τx (t) (3.14)

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

12

Evaluando la derivada parcial en (3.11):   ∂ [L(t)] = M x (t) θ˙x (t) θ˙y (t) + y (t) θ˙y (t) θ˙y (t) − M G (sin θy (t)) ∂y(t)   ∂ Icdm Icdm [L(t)] = M y˙ (t) + 2 y˙ (t) = M + 2 y˙ (t) · R R ∂ y(t) " #      d ∂ d Icdm Icdm [L(t)] = M + 2 y˙ (t) = M + 2 y¨ (t) · dt ∂ y(t) dt R R " #     d ∂ ∂ Icdm ˙x (t) θ˙y (t) + y (t) θ˙y (t) θ˙y (t) [L(t)] y ¨ (t) − M x (t) θ − [L(t)] = M + · dt ∂ x(t) ∂x(t) R2 + M G (sin θy (t))



Icdm M+ 2 R



y¨ (t) − M x (t) θ˙x (t) θ˙y (t) − M y (t) θ˙y2 (t) + M G sin θy (t) = 0

(3.15)

Evaluando la derivada parcial en (3.12):



d  dt

∂ ·

∂ θy (t)

∂ [L(t)] ∂θy (t) ∂ [L(t)] · ∂ θy (t)   d  ∂ [L(t)] · dt ∂ θy (t)  ∂ [L(t)] − [L(t)] ∂θy (t)

= M Gy (t) cos θy (t) = M x (t) y (t) θ˙x (t) + M y (t) y (t) θ˙y (t) + Icdm θ˙y (t)     ˙ θ˙x + xy˙ θ˙x + M y 2 θ¨y + 2y y˙ θ˙y + Icdm θ¨y = M xy θ¨x + xy     = M xy θ¨x + xy ˙ θ˙x + xy˙ θ˙x + M y 2 θ¨y + 2y y˙ θ˙y + Icdm θ¨y + M Gy (t) cos θy (t)

 Icdm + M y 2 θ¨y +2M y y˙ θ˙y +M xy θ¨x +(M xy ˙ + M xy) ˙ θ˙x +M Gy (t) cos θy (t) = τy (t) (3.16)

Despejando la aceleraci´ on lineal de (3.13) y (3.15):

x ¨ (t) = y¨ (t) =

M 

M+



M+

Icdm R2

M Icdm R2

h i  x (t) θ˙x2 (t) + y (t) θ˙x (t) θ˙y (t) − G sin θx (t) h i  y (t) θ˙y2 (t) + x (t) θ˙x (t) θ˙y (t) − G sin θy (t)

(3.17) (3.18)

´ 3.2. MODELO DEL SISTEMA PLANO-ESFERA: PARTE MECANICA.

13

Despejando la acelaraci´ on angular de (3.14) y (3.16): θ¨x =

θ¨y =

τx (t) 2M x (t) x˙ (t) θ˙x (t) M x (t) y (t) θ¨y (t) − − (Icdm + M x2 (t)) (Icdm + M x2 (t)) (Icdm + M x2 (t)) M (x (t) y˙ (t) + x˙ (t) y (t)) θ˙y (t) M Gx (t) cos θx (t) − − (Icdm + M x2 (t)) (Icdm + M x2 (t)) τy (t) 2M y (t) y˙ (t) θ˙y (t) M x (t) y (t) θ¨x (t) − − (Icdm + M y 2 (t)) (Icdm + M y 2 (t)) (Icdm + M y 2 (t)) M (x˙ (t) y (t) + x (t) y˙ (t)) θ˙x (t) M Gy (t) cos θy (t) − − (Icdm + M y 2 (t)) (Icdm + M y 2 (t))

(3.19)

(3.20)

Ahora para poder describir completamente el comportamiento del sistema PE es necesario determinar las variables de estado: x1 (t) = x(t) x˙ 1 (t) = x(t) ˙ = x2 (t) x˙ 2 (t) = x ¨ (t) x3 (t) = θx (t) x˙ 3 (t) = θ˙x (t) = x4 (t) x˙ 4 (t) = θ¨x (t) x5 (t) = y(t) x˙ 5 (t) = y˙ (t) = x6 (t) x˙ 6 (t) = y¨ (t) x7 (t) = θy (t) x˙ 7 (t) = θ˙y (t) = x8 (t) x˙ 8 (t) = θ¨y (t) Como se puede observar de (3.17), (3.18), (3.19) y (3.20), es un sistema no lineal ya que existe una dependencia entre variables de estado y la relaci´ on entre ellas no es lineal, ademas de que los movimientos del plano son acoplados.

           

x(t) ˙ = f [X(t)] + G[τ (t)]     0 x˙ 1 (t) x2 (t)  0  A   x˙ 2 (t)      0    x˙ 3 (t)   x4 (t)   1     x˙ 4 (t)  B   Icdm +M x21 (t)  =  + x˙ 5 (t)  0   x6 (t)       x˙ 6 (t)  0  C    x8 (t)    x˙ 7 (t)  0 x˙ 8 (t) D 0 Y (t) = h [X(t)] := (x1 (t), x5 (t))T

0 0 0 0 0 0 0 1 Icdm +M x25 (t)



       τx (t)   τy (t)    

(3.21)

(3.22)

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

14 Donde: A

=



M  I M + cdm 2 R

 x1 (t)x24 (t) + x5 (t) x4 (t) x8 (t) − G sin x3 (t)

M  x5 (t)x(t)2 + x1 (t) x4 (t) x8 (t) − G sin x7 (t) I 8 M + cdm R2 ˙ 8 (t) 2 (t)x4 (t) 5 (t)x 2 (t)x5 (t))x8 (t) − 2MI x1 (t)x − MIx1 (t)x − M (x1 (t)xI 6 (t)+x 2 2 2 cdm +M x1 (t) cdm +M x1 (t) cdm +M x1 (t)



B

=

C

=

D

6 (t)x8 (t) = − 2MI x5 (t)x − +M x2 (t)



cdm

5

M x1 (t)x5 (t)x˙ 4 (t) Icdm +M x25 (t)



M (x2 (t)x5 (t)+x1 (t)x6 (t))x4 (t) Icdm +M x25 (t)



M Gx1 (t) cos(x3 (t)) Icdm +M x21 (t)



M Gx5 (t) cos(x7 (t)) Icdm +M x25 (t)

X(t) = (x1 (t), x2 (t), x3 (t), x4 (t), x5 (t), x6 (t), x7 (t), x8 (t))T = (x(t), x(t), ˙ θx (t), θ˙x (t), y(t), y(t), ˙ θy (t), θ˙y (t))T Se tiene como entrada de control el torque que aplica el motor para modificar la on de salida inclinaci´ on del plano, la ecuaci´ on de estado esta dada por (3.21) y la ecuaci´ (3.22), tenemos:

f [X(t)] = Matriz de Estado G[τ (t)] = Matriz de Entrada X(t) = Vector de Estado τ (t) = Vector de Entrada Y (t) = Vector de Salida

3.3.

Modelo del sistema de visi´ on.

Los rayos de luz que inciden en una c´ amara entran a trav´es de una apertura muy peque˜ na (apertura ´ optica), la intersecci´ on de estos rayos con el fondo de la c´ amara forma una imagen en 2-D (plano imagen) de un objeto en 3-D, a este mapeo se le llama proyecci´ on perspectiva. Una c´ amara digital forma una representaci´ on discreta del plano imagen que incide sobre un arreglo de fotosensores, por lo regular el n´ umero de fotosensores en una l´ınea del arreglo no coincide con el n´ umero de elementos en la imagen digital debido al procesamiento an´ alogo y la digitalizaci´ on, adem´ as de que las coordenadas del centro del plano imagen tampoco concuerdan con las coordenadas del centro de la imagen digital. Por todo esto, para encontrar el modelo geom´etrico de la c´ amara primero se tiene que hacer una transformaci´ on de un sistema de coordenadas 3-D en el que se encuentra el objeto, al sistema de coordenadas del plano imagen, considerando la orientaci´ on y posici´ on de la c´ amara con respecto del sistema en 3-D, posteriormente una nueva transformaci´ on del plano imagen a las coordenadas de la imagen digital, tomando en cuenta las caracter´ısticas intr´ınsecas de la c´ amara. Por lo regular el sistema de coordenadas de la escena “O m ” no esta alineado con el sistema de coordenadas de la c´ amara que tiene su origen en el centro de proyecci´ on “O ”, lo

´ 3.3. MODELO DEL SISTEMA DE VISION.

15

que requiere transformar al punto P (xm , ym , zm ) en el sistema de coordenadas de la escena a el mismo punto P en el sistema de coordenadas de la c´ amara P (x, y, z) (par´ ametros extr´ınsecos).

Figura 3.2: Geometr´ıa de la c´ amara y proyecci´ on perspectiva.

Si se considera al punto P como una matriz 3x1 se puede hacer una transformaci´on lineal de dicho punto multiplicado por una matriz 3x3 y la adici´ on de una matriz 3x1 que representa una transformaci´ on no lineal, estas transformaciones son respectivamente la orientaci´ on y posici´ on del sistema de coordenadas de la camara con respecto del sistema de coordenadas de la escena. 

      x r1 r2 r3 xm tx  y  =  r4 r5 r6   ym  +  ty  z r7 r8 r9 zm tz

3.3.1.

(3.23)

Proyecci´ on perspectiva.

El modelo geom´etrico de la c´ amara Figura 3.2, consiste en un plano imagen y el centro de proyecci´ on O(x0 , y0 , z0 ), f es la distancia entre el centro de proyecci´ on y el plano imagen (distancia focal), el eje ´ optico se encuentra a lo largo del eje z y es perpendicular al plano imagen, la intersecci´ on del eje ´ optico con el plano imagen es el centro de la imagen Oi . La recta que es formada por los puntos OP , presenta un grado de inclinaci´ on con respecto al eje ´ optico, esta misma recta intercepta al plano imagen en el punto p(x′, y′, f ) por lo que el segmento de recta Op tiene la misma pendiente, considerando los planos (z, x) y (z, y) del sistema de coordenadas de la c´ amara. De esta forma se puede encontrar la proyecci´on del punto P en el plano imagen dada la distancia focal, por lo que se tienen las siguientes ecuaciones: fx ′ fy ′ x′ = ,y = ,z = f (3.24) z z

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

16

La Ec. (3.24) se puede expresar de la siguiente forma:   f x′ z  y′  =  0 z′ 0 

0 f z

0

  0 x   y  0 f z z

(3.25)

on del punto P (x, y, z) en el plano imagen con respecto La Ec. (3.25) solo expresa la proyecci´ al sistema de coordenadas de la camara, pero no la posici´ on con respecto del sistema de coordenadas de la escena, por lo que al sustituir la matriz de rotaci´ on de la Ec. (3.25) en Ec.(3.23) t´emenos:   f x′ z  y′  =  0 z′ 0 

0 f z

0

    0 xm tx 0   y m  +  ty  f zm tz z

(3.26)

Al agregar una cuarta coordenada “s” al punto p(x′ , y ′ , z ′ ) tenemos a p(sx′ , sy ′ , sz ′ ), donde “s” representa un factor de escala y la Ec (3.26) puede ser expresada de la siguiente forma:   1 sx′  sy ′   0     sz ′  =  0 0 s 

 0 0 tx xm  ym 1 0 ty   0 1 tz   zm 0 f1 0 1

   

(3.27)

Para simplificar la matriz de transformaci´ on homog´enea Ec. (3.27), hacemos las siguientes suposiciones: 1. El centro de proyecci´ on de la camara, coincide con el origen del sistema de coordenadas de la escena. 2. El eje ´ optico de la c´ amara coincide con el eje zm del sistema de coordenadas de la escena. 3. Para evitar la imagen invertida, suponemos que el plano imagen se encuentra frente al centro de proyecci´ on. Por lo antes mencionado, la matriz de transformaci´ on homog´enea Ec. (3.28) indica que el sistema de coordenadas de la c´amara est´ a orientado y no esta trasladado con respecto del sistema de coordenadas de la escena, pero si presenta una proyecci´ on perspectiva con f respecto del eje ´ optico dada por la raz´ on z . Para obtener las coordenadas de la proyecci´ on perspectiva p(x′, y′, z′, 1) , hay que dividir las primeras tres coordenadas entre la cuarta.   1 sx′  sy ′   0     sz ′  =  0 0 s 

 0 0 0 x  y 1 0 0   0 1 0  z 0 f1 0 1

   

(3.28)

´ 3.3. MODELO DEL SISTEMA DE VISION.

3.3.2.

17

Factor de escala de la imagen digitalizada.

Con el modelo geom´etrico de la c´ amara podemos mapear un punto 3-D de la escena al plano imagen, para el caso del sistema PE se utilizo una c´ amara digital, el elemento captor de la c´ amara es un arreglo de fotosensores que forman una representaci´ on discreta del plano imagen, cada elemento del arreglo es representado como un elemento en la imagen digitalizada llamado p´ıxel, debido al procesamiento an´ alogo y el digitalizador en la c´ amara la mayor´ıa de las veces el n´ umero de elementos sensores en una fila del arreglo no es el mismo en la imagen digitalizada, aunado al aspecto del elemento sensor (dimensiones), se le conoce a la relaci´ on como factor de escala horizontal, para el caso del factor de escala vertical la relaci´ on de elementos sensores y pixeles en la imagen es univoca. αx = αy

=

1 Nc p Nd x

1 py

(3.29)

Donde: Nc N´ umero de elementos fotosensores en la direcci´ on X de la c´amara. Nd N´ umero de pixeles por fila en la imagen digitalizada. px , py Dimensiones del un elemento sensor en la c´ amara dadas en micr´ ometros. El plano imagen y la imagen digitalizada est´ an orientadas, pero las coordenadas del centro del plano imagen no coinciden con el centro de la imagen digitalizada, por lo que se tiene que hacer una transformaci´ on af´ın.       sx′   u αx 0 0  ′  u0  v  =  0 αy 0   sy′  +  v0  (3.30)  sz  w 0 0 0 w0 s     ′  u αx 0 0 u0 sx  v   0 αy 0 v0   sy ′       (3.31)  w = 0 0 0 w0   sz ′  0 0 0 1 s k

Debido a que en el sistema de coordenadas de la imagen digitalizada se pierde la profundidad, la coordenada w0 en nula y al sustituir la Ec. (3.28) en Ec. (3.31) tenemos:       1 0 0 0 u αx 0 0 u0 x  v   0 αy 0 v0   0 1 0 0   y        (3.32)  w = 0 0 0 0  0 0 1 0  z  0 0 f1 0 k 0 0 0 1 1

La Ec. (3.32) representa la transformaci´ on del sistema de coordenadas de la escena al sistema de coordenadas de la imagen digitalizada, la cual se reduce a lo siguiente.      αx 0 uf0 0 u x   v0  v   0 α 0 y    y f   (3.33)   w =  0 0 0  z   0 1 k 1 0 0 0 f

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

18

Si multiplicamos los coeficientes de la matriz Ec. (3.33) por f , podemos expresarla de las siguientes formas: 

  u f αx 0 u0  v   0 f αy v0     w = 0 0 0 k 0 0 1    u x (f αx ) 0  v   0 y (f αy )     w = 0 0 k 0 0

 x 0   0  y 0  z 0 1 z (u0 ) z (v0 ) 0 z

   

 0 0   0  0

(3.34)

(3.35)

Ya que la Ec. (3.34) esta compuesta por una matriz de transformaci´ on del sistema de coordenadas de la escena [x, y, z, 1]T , al sistema de coordenadas de la imagen digital [u, v, z, k]T , se puede expresar en forma de la Ec. (3.35). Para encontrar las tres primeras coordenadas de la imagen digital, se tiene que dividir por la cuarta que es k y representa el escalado global. 

  u  v       w = 1

f z αx

0 0 0

0 u0 f z αy v0 0 0 0 1

 0 x   0  y 0  z 1 0

   

(3.36)

La Ec. (3.36) tambien puede ser expresada como se muestra en la Ec. (3.37), dada la ausencia de profundidad en la imagen digital.        f αx 0 x u0 u = + (3.37) 0 αy y v0 v z

3.3.3.

Caso del sistema Plano-Esfera

En el caso del sistema PE, para conocer la posici´ on de la esfera sobre el plano de vidrio, se consider´ o como lazo de retroalimentaci´ on al sistema de visi´ on, por lo que el centro de la imagen digital coincide con el centro del plano y se coloc´ o la c´ amara a una distancia fija sobre este. La c´amara que se utiliz´ o para el sistema de visi´ on es un sensor digital de imagen CMOS, modelo MT9M011. La resoluci´ on m´ axima del sensor es de 1280H x 1024V pixeles activos, las dimensiones de cada p´ıxel es de 3.6µm H x 3.6µm V y una distancia f entre el lente y el APS (Active-pixel sensor ) de 4.8mm. El tama˜ no del plano de vidrio es de 0.5m x 0.5m y la distancia entre el plano y la c´ amara es aproximadamente de 0.648m. Una de las funciones de este sensor, es poder especificar el tama˜ no de la imagen menor ´ o igual al formato SXGA, por lo que la c´ amara fue configurada con un tama˜ no de imagen igual a 1024H x 1024V pixeles activos para que la forma del plano coincida con la forma de la imagen, de esta manera se cubre por completo el ´ area del plano.

´ 3.4. MODELO COMPLETO DEL SISTEMA PLANO-ESFERA

19

Debido al filtro de color Bayer en el sensor, es necesario interpolar para formar los planos de color verde, rojo y azul, con los que se forma una imagen de color, para evitar esto se utiliz´ o el fondo negro y un bal´ın de color blanco, ya que el color blanco es la superposici´ on de todos los colores, por lo que no es necesaria la interpolaci´ on para el caso particular del sistema PE. Dadas las caracteristicas intr´ınsecas de la c´ amara, para obtener el factor de escala de la imagen digital, consideramos que un elemento sensor del MT9M011, corresponde a un p´ıxel de la imagen digital y adem´ as su forma es cuadrada, por lo que de la Ec. (3.29) queda de la siguiente forma: α=

1 pixel 1 = , px py m

(3.38)

Como el factor de escala horizontal y vertical es el mismo podemos escribir la Ec. (3.37) de la siguiente forma:     fα x u = (3.39) v y z Por las caracter´ısticas intr´ınsecas y extr´ınsecas de la c´ amara antes mencionadas f , α y z, se puede considerar esta relaci´ on como una transformaci´ on K del sistema de coordenadas de la escena al sistema de coordenadas de la imagen digital.     u x =K (3.40) v y De esta manera se tiene que para un punto en la superficie plana m´ ovil existe un punto en el plano imagen que es multiplicado por un factor de conversi´ on aproximadamente constante. Este modelo es el m´ as sencillo para relacionar las coordenadas del espacio de trabajo a las coordenadas de la imagen.

3.4.

M´ odelo completo del sistema Plano-Esfera

Dada la no-linealidad el modelo matem´ atico del sistema PE Ec. (3.21), se toman las siguientes consideraci´ ones: Los movimientos de la esfera sobre el plano son lentos. Los ´ angulos de inclinaci´ on de la esfera son peque˜ nos. Ya que los movimientos de la esfera son lentos, no presenta tendencia a patinar (rodamiento suave), lo que impone una restricci´ on a la aceleraci´ on de rotaci´ on del plano. Debido a la baja velocidad y aceleraci´ on de rotaci´ on del plano, suponemos la interacci´ on de los movimientos del plano desacoplados. Definimos dos nuevas entradas cx (t) y cx (t) para Ec. (3.14) y Ec. (3.16): τx (t) = τy (t) =

 Icdm + M x2 cx + 2M xx˙ θ˙x + M xy θ¨y + (M xy˙ + M xy) ˙ θ˙y + M Gx (t) cos θx (t)  Icdm + M y 2 cy + 2M y y˙ θ˙y + M xy θ¨x + (M xy ˙ + M xy) ˙ θ˙x + M Gy (t) cos θy (t)

CAP´ITULO 3. MODELO DEL SISTEMA PLANO-ESFERA.

20

Por lo que el modelo del sistema PE puede ser aproximado de la siguiente forma:

           

x(t) ˙ = f [X(t)] + G[τ (t)]  x2 (t)   x˙ 1 (t)   M  x1 (t)x2 (t) − G sin x3 (t) Icdm 4  x˙ 2 (t)   M + R2   x˙ 3 (t)  x4 (t)     x˙ 4 (t)  0  =  x˙ 5 (t)  x  6 (t)     M    x˙ 6 (t)  x5 (t)x28 (t) − G sin x7 (t) Icdm  M + R2  x˙ 7 (t)   x8 (t) x˙ 8 (t) 0 Y (t) = h [X(t)] := (x1 (t), x5 (t))T



 0    0     0       cx (t) +   0     0    0  cy (t)

           

(3.41)

(3.42)

Donde: X(t) = (x1 (t), x2 (t), x3 (t), x4 (t), x5 (t), x6 (t), x7 (t), x8 (t))T = (x(t), x(t), ˙ θx (t), θ˙x (t), y(t), y(t), ˙ θy (t), θ˙y (t))T Apartir de la relaci´ on Ec. (3.40), se escogen la siguientes variables de estado: u1 = u = Kx1 (t) u˙ 1 = u˙ = K x˙ 1 (t) = Kx2 (t) u˙ 2 = u ¨ = K x˙ 2 (t)

(3.43)

v1 = v = Kx5 (t) v˙ 1 = v˙ = K x˙ 5 (t) = Kx6 (t) v˙ 2 = v¨ = K x˙ 6 (t)

(3.44)

Sustituyendo u˙ 2 y v˙ 2 en Ec. (3.41) tenemos el modelo completo del sistema PE.   u2 (t)      u˙ 1 (t) 0   M  u1 (t)u2 (t) − KG sin u3 (t)  4  M + Icdm   0   u˙ 2 (t)     R2      0   u˙ 3 (t)   u (t)    4        u˙ 4 (t)  0   cu (t)    =   (3.45)  +  v˙ 1 (t)  v2 (t)    0         v˙ 2 (t)    MIcdm  v1 (t)v42 (t) − KG sin v3 (t)   0      M + R2    v˙ 3 (t)     0    v4 (t) v˙ 4 (t) cv (t) 0 Y (t) = h [X(t)] := (u1 (t), v1 (t))T

Donde: X(t) = (u1 (t), u2 (t), u3 (t), u4 (t), v1 (t), v2 (t), v3 (t), v4 (t))T = (u(t), u(t), ˙ θx (t), θ˙x (t), v(t), v(t), ˙ θy (t), θ˙y (t))T

(3.46)

Cap´ıtulo 4

Control del sistema Plano-Esfera con c´ amara fija. 4.1.

Introducci´ on.

El presente cap´ıtulo trata el dise˜ no, construcci´ on e implementaci´ on del sistema mec´ anico PE, selecci´ on de sensores y actuadores, as´ı como el dise˜ no del sistema de control de lazo cerrado Figura (4.1), el cual nos permitimos dividirlo en dos sub-sistemas, el sub-sistema de tratamiento digital de im´ agenes (TDI) que lo forman los m´ odulos de pre-procesamiento y extracci´ on de caracter´ı sticas y el sub-sistema de control se dividi´ o en dos m´ odulos, un controlador difuso tipo Mamdani con interfaz de motores. El m´ odulo de pre-procesamiento del sub-sistema de tratamiento digital de im´ agenes (TDI) es el encargado de configurar la c´ amara, adquirir la imagen I(u,v), aplicar una funci´ on de umbral a los datos obtenidos de la c´ amara como m´etodo de segmentaci´ on y utilizar la transformaci´ on morfol´ ogica de erosi´ on para eliminar pixeles que no pertenecen al objeto de inter´es (esfera). Una vez que la imagen q(u,v) solo contenga al objeto de inter´es representado por la regi´ on de componentes conectados q(u, v) = 1 y el fondo de la imagen q(u, v) = 0, podemos obtener las caracter´ısticas cinem´ aticas del objeto. En este caso, posici´ on y velocidad. Por su parte, el m´ odulo de control difuso, cuenta con una interfaz fuzificadora, que toma las caracter´ısticas cinem´ aticas del objeto y las expresa en forma de variables ling¨ u´ısticas (error de posici´ on y velocidad), la base de conocimiento, contiene la informaci´ on y experiencia de un experto en el manejo del prototipo PE, estructurada mediante inferencias (reglas difusas) del tipo SI... ENTONCES, por lo que el mecanismo de inferencia [MAXMIN] produce una salida basada en el conocimiento del experto, esta salida todav´ıa es difusa, por lo tanto, el defuzificador toma las conclusiones del mecanismo de inferencia y las convierte en un valor escalar, que la interfaz de motores interpreta para generar la se˜ nal apropiada y realizar la acci´ on de control.

21

´ 22 CAP´ITULO 4. CONTROL DEL SISTEMA PLANO-ESFERA CON CAMARA FIJA.

Figura 4.1: Sistema de control de lazo cerrado

4.2.

Sistema de tratamiento digital de im´ agenes implementado en FPGA.

Debido a que el mayor tiempo de procesamiento lo consume la tarea de (TDI) en aplicaciones en tiempo-real, resulta dificil la ejecuci´ on de ´estos en equipos que cuentan con procesadores convencionales [4] y de los cu´ ales s´ olo se tiene acceso a trav´es de un sistema operativo. Una opci´ on para reducir el tiempo de ejecuci´ on de los procesos de TDI, es formular un procesamiento concurrente y secuencial utilizando herramientas de dise˜ no de hardware. Adem´ as de que se cuenta con la posibilidad de probar f´ısicamente el funcionamiento mediante su equivalente circuito l´ ogico embebido, en un circuito integrado que resulta de la tecnolog´ıa FPGA (Field Programmable Gate Array).

4.2.1.

Funci´ on de umbral.

Es una de las transformaciones m´ as sencillas que se puede aplicar a una imagen en niveles de grises I(u,v) para obtener una imagen TH(u,v) en dos tonos (blanco y negro). Tambi´en es una t´ecnica de segmentaci´ on, ya que divide la imagen en subregiones. El valor de umbral B es el que decide cuales puntos de la imagen pasan al negro o al blanco. La elecci´ on del valor de umbral B depende de la complejidad de la imagen, ya que puede haber uno o varios puntos de umbral dependiendo de la segmentaci´ on que se quiera conseguir. La expresi´ on matem´ atica de la transformaci´ on para este sistena es la siguiente: T H (u, v) = f (I (u, v)) =



0, 0 ≤ I (u, v) ≤ B 1, B < I (u, v) ≤ 1023

(4.1)

Con el fin de facilitar el procesamiento de la imagen, se consider´ o la esfera de color blanco y el plano de color negro para resaltar el objeto de inter´es del fondo, ver Figura 4.2, por lo que s´ olo se necesita un valor de umbral B para poder segmentar la imagen y representar los componentes conexos de la esfera con th(u, v) = 1 y el fondo con th(u, v) = 0. La funci´ on de umbral fue implementada en el VHDL (Very High Speed Hardware Description Language)[14] , que es un lenguaje mediante el cual es posible describir un circuito digital. Con ayuda del lenguaje, se tiene la posibilidad de abordar la descripci´on de una idea o dise˜ no de forma estructural o comportamental[17]. La descripci´ on estructural

´ 4.2. SISTEMA DE TRATAMIENTO DIGITAL DE IMAGENES IMPLEMENTADO EN FPGA.23

Figura 4.2: Imagen I(u, v), esfera sobre el plano.

consiste en enumerar los componentes de un circuito y su interconexi´ on. Con la descripci´on comportamental, es factible dise˜ nar un circuito electr´ onico a partir de su comportamiento, en vez de los elementos de los que est´ a conformado. Para el caso de la funci´ on de umbral, se opt´ o por la descripci´ on comportamental mostrada en la Figura 4.3. Los pixeles le´ıdos de la c´ amara mayores que el valor de umbral B, corresponden al objeto y por debajo del umbral al fondo de la escena, lo que result´ o en un circuito comparador combinatorio de 10-bits.

Figura 4.3: Comparador de 10-bits

4.2.2.

Operador morfol´ ogico de erosi´ on.

La morfolog´ıa se refiere al estudio de las formas y estructuras [13]. La morfolog´ıa matem´atica descansa en la teor´ıa de conjuntos, en el campo del procesamiento de im´ agenes, es empleada para la extracci´ on de componentes, a su vez, es u ´ til en la representaci´ on y descripci´ on de la forma de una regi´ on. Algunas de las operaciones b´ asicas en teor´ıa de conjuntos son la traslaci´ on, reflexi´ on y complemento. Por lo que nos permitimos definir la regi´ on T H como un subconjunto de Z 2 y th = th(u, v) como el conjunto de elementos de dicha regi´ on, por lo tanto: La traslaci´ on de T H por un elemento a = a(m1 , n1 ) se define como: (T H)a = {g | g = th + a, ∀th ∈ T H}

(4.2)

La reflexi´ on de T H se define como: TˆH = {g | g = −th, ∀th ∈ T H}

(4.3)

El complemento de T H se define como:  (T H)c = g ∈ Z 2 | g ∈ / TH

(4.4)

La morfolog´ıa matem´ atica fundamenta todas sus operaciones en dos operadores: la erosi´ on y la dilataci´ on, estos operadores estan asociados con un conjunto llamado elemento

´ 24 CAP´ITULO 4. CONTROL DEL SISTEMA PLANO-ESFERA CON CAMARA FIJA. de estructura. Para el caso del procesamiento de im´ agenes binarias, el objetivo de la erosi´on es decrecer la regi´ on de interes a trav´es de un proceso de eliminac´ on de elementos, el tama˜ no y forma del conjunto erosionado depender´ a fuertemente del tama˜ no y forma del elemento de estructura que se seleccione. Para formalizar lo dicho anteriormente, consideramos a T H y W subconjuntos de Z 2 . La erosi´on de T H con respecto del elemento de estructura W se define como:  T H ⊖ W = g ∈ Z 2 | g + w ∈ T H, ∀w ∈ W

(4.5)

La operaci´ on morfol´ ogica de erosi´ on, es el resultado de comprobar s´ı el elemento estructurante W , pertenece completamente al conjunto T H, de lo contrario, el resultado ser´ a el vac´ıo. Si consideramos la imagen resultante de la funci´ on de umbral mostrada en la Figura 4.4, esta presentan pixeles que no pertenecen a la esfera, dichos pixeles podr´ıan ser objetos en la escena s´ı no conoci´eramos el origen de la imagen, pero en realidad son pixeles producto del reflejo de la iluminaci´ on en el plano. La imagen para ser procesada (c´ alculo del centroide de la esfera), requiere de eliminar todos los pixeles que no pertenecen al objeto de inter´es.

Figura 4.4: Imagen binaria resultado de la funci´ on de umbral

Descripci´ on del operador erosi´ on [7]: Es una operaci´ on que elimina los pixeles conexos con alguno que es parte del fondo, lo que supone eliminar una l´ınea del contorno del objeto, esto en su forma m´ as simple. El resultado de la erosi´ on puede ser expresado en la siguiente ecuaci´ on, usado los ´ındices “m, n” como la posici´ on de la componente conexa en la rvecindad de la celda ‘th(u, v)’. S (u, v) =

X

X

w (m, n) th (u + m, v + n)

(4.6)

−r≤m≤r −r≤n≤r

Q (u, v) = f (S (u, v)) =



0, S (u, v) 6= i 1, S (u, v) = i

(4.7)

Donde ‘S (u, v)’ y ‘Q (u, v)’ es el estado y salida resultante de la celda th (u, v). ‘th (u, v)’ es una componente de la imagen binaria proveniente de la funci´ on de umbral (4.1), para 0 ≤ u ≤ C y 0 ≤ v ≤ F , donde ‘C’ es el n´ umero de columnas y ‘F ’ el n´ umero de filas de la imagen. ‘i’ es igual al n´ umero de pesos w (m, n) con valor diferente de cero. ‘r’ es la m´ axima distancia entre la celda de referencia th (u, v) y sus vecinos th (u + m, v + n). Si ‘r = 1’, los ´ındices (m, n) forman el siguiente conjunto {(-1,-1),(1-,0),(-1,1),(0,-1),(0,0),(0,1),(1,1),(1,0),(1,1)} y el elemento estructurante W , es definido con respecto a w (m, n) como sigue:

´ 4.2. SISTEMA DE TRATAMIENTO DIGITAL DE IMAGENES IMPLEMENTADO EN FPGA.25



 w (−1, −1) w (−1, 0) w (−1, 1) W =  w (0, −1) w (0, 0) w (0, 1)  w (1, −1) w (1, 0) w (1, 1)

(4.8)

w (m, n) son los pesos de control en la ecuaci´ on (4.6) que dan forma al elemento estructurante. El elemento estructurante (4.8) toma la forma y pesos de la ecuaci´ on (4.9) para realizar la tarea de erosi´ on con i = 8 y peso de referencia en w (0, 0). 

 1 1 1 W = 1 1 1  1 1 1

(4.9)

Comprendida la transformaci´ on de erosi´ on expresada en (4.6) y (4.7), ahora puede ser descrita de forma estructural en VHDL. Para iniciar se define la siguiente notaci´ on: A = th(u − 1, v − 1) D = th(u + 0, v − 1) G = th(u + 1, v − 1) Q = q(u, v)

B = th(u − 1, v) E = th(u, v) H = th(u + 1, v)

C = th(u − 1, v + 1), F = th(u + 0, v + 1) I = th(u + 1, v + 1),

La Tabla de verdad 4.1, es la interpretaci´ on de la ecuaci´ on (4.7), para todos los posibles casos en que el elemento de estructura W recorre la imagen TH y de esta manera poder identificar la funci´ on Booleana correspondiente al operador morfol´ ogico de erosi´ on, el cual es el operador l´ ogico AND (4.10). Entradas A B C D E F 1 1 1 1 1 1 * * * * * * * No importa

G 1 *

H 1 *

I 1 *

Q 1 0

Tabla 4.1: Tabla de verdad de Q (u, v) = f (S (u, v))

Q = ABCDEF GHI

(4.10)

A partir de (4.10), se puede implementar el circuito digital equivalente mostrado en la Figura 4.5 en un FPGA, lo que resulta en disminuir el costo computacional. Por otro lado un pre-procesamiento de im´ agenes binarias de este tipo, requiere de la convoluci´ on y un comparador en un equipo convencional (PC’s), adem´ as de no contar con el ambiente concurrente que tiene VHDL. Un ejemplo del funcionamiento se muestra en la Figura 4.5. Lo antes mecionado se puede ejemplificar con la simulaci´ on de esta operaci´ on morfol´ ogica Figura (4.5), la cual esta basada en el software Quartus II 7.2 que proporciona el fabricante de la tarjeta con la que se trabaj´ o. La simulaci´ on se realiz´ on con una imagen de muestra de 8x8 pixeles y un p´ıxel de contorno en la imagen con valor igual a ‘0’ ilustrado por la regi´ on cara, el cual es agrega por software.

´ 26 CAP´ITULO 4. CONTROL DEL SISTEMA PLANO-ESFERA CON CAMARA FIJA.

Figura 4.5: Circuito equivalente de la operaci´ on morfol´ ogica de erosi´ on.

Debido a que el elemento captor de la imagen es leido en un barrido progresivo, para poder iniciar con la erosi´ on de la imagen, es necesario tener la capacidad de almacenar 3 filas de esta en un registro de corrimiento, pero para poder operar el elemento de estructura W al primer elemento de la imagen th(0, 0), solo se requiere tener almacenadas las dos primeras filas y los dos primeros elementos de la tercer fila. Como se observa en la simulac´ on de la nales de la A-I corresponden al elemento de estructura W , enmarcadas Figura (4.6), las se˜ en un rectangulo negro, donde las 9 estan almacenadas al mismo tiempo en un ciclo de reloj, por lo que en el siguiente ciclo de reloj se obtiene el resultado Q de la operaci´ on logica AND, lo que hace de esto un proceso sincrono debido a la naturalesa del elemento captor.

Figura 4.6: Simulaci´ on de la operaci´ on morfol´ ogica de erosi´ on en un FPGA.

27

4.3. CONTROL DEL SISTEMA PLANO-ESFERA.

4.2.3.

C´ alculo del centroide

Este es el u ´ ltimo bloque del m´ odulo del sistema de TDI, encargado de calcular el centroide de la esfera que se encuentra en el plano. Una vez que la imagen est´ a libre de objetos que no pertenezcan a la esfera, es posible calcular su centroide. Los datos de la imagen que provienen del m´ odulo de erosi´ on se leen en un barrido progresivo de izquierda a derecha y de arriba hacia abajo, adem´ as se utiliz´ o un contador para las columnas y uno para las filas, por lo tanto, nos permitimos tomado estos dos como ejes de referencia (x, y). Las coordenadas del centroide de la esfera representada por una regi´ on R de componentes conectados q (u, v) = 1, pueden ser calculadas mediante los momentos geom´etricos est´ andar m0,0 , m0,1 , m1,0 [8] de la forma siguiente:

Eje x(k) =

m1,0 = m0,0

X

uq (u, v)

(u,v)∈R

X

q (u, v)

(4.11)

(u,v)∈R

Eje y(k) =

m0,1 = m0,0

X

vq (u, v)

(u,v)∈R

X

q (u, v)

(4.12)

(u,v)∈R

El centroide de la esfera ser´ a proporcionado al m´ odulo de control, que calcular´ a la inclinaci´ on necesaria para que la esfera ruede en la direcci´ on apropiada y se estabilice en la posici´ on deseada.

4.3. 4.3.1.

Control del sistema Plano-Esfera. Fuzificador

La posici´ on de la esfera sobre el plano en la direcci´ on de control X y la direcci´ on de control Y es proporcionada por el sistema de visi´ on. Como se propuso en las ecuaciones 3.21 y 3.22, suponemos la interacci´ on entre las direcciones de control desacopladas, por lo tanto, solo se explicara el dise˜ no del controlador difuso en la direcci´ on X. Si tomamos a T como el tiempo de muestreo, refiri´endonos al tiempo en que el m´ odulo de TDI tarda en capturar y procesar una imagen, por lo que la posici´ on x(k) de la esfera, ser´ a la posici´ on de la esfera en el tiempo de muestreo k. Por lo tanto, se puede aproximar el c´ aculo de la velocidad v(k) y la aceleraci´ on a(k) a partir de 4.13 y 4.14 respectivamente. Si suponemos que la velocidad y aceleraci´ on es constante para un tiempo de muestreo T peque˜ no, de esta forma podemos estimar la siguiente posici´ on de la esfera xe (k + 1) con 4.15. Llamamos a la posici´ on deseada xd y al error estimado e (k + 1), que es expresado mediante 4.16. El error estimado y la velocidad de la esfera son considerados como entradas para el fuzificador y la inclinaci´ on del plano es la variable a manipular para el servomotor X. (x (k) − x (k − 1)) v (k) = (4.13) T

´ 28 CAP´ITULO 4. CONTROL DEL SISTEMA PLANO-ESFERA CON CAMARA FIJA. a (k) = v (k) − v (k − 1)

(4.14)

a (k) T 2

v (k) + T 2 e (k + 1) = xd − xe (k + 1)

xe (k + 1) = x (k) +

(4.15) (4.16)

Para fuzificar las entradas error estimado e(k + 1) y velocidad v(k) al controlador, se utilizaron cinco conjuntos difusos por entrada, negativa alta (NA), negativa media (NM), cero (Z), positiva media (PM) y positiva alta (PA), que est´ an distribuidas como se muestran en las Figuras 4.7 y 4.9 NA

Funcióndepertenencia

1

NM Z PM

PA

0.5

0 -0.5

-0.0625 -0.0312 0 0.0312

0.0625

0.5

Error de la posición [m]

(a) NA

Gradodepertenencia

1

NM

Z

PM

PA

0.5

0 -0.625

-0.3125

-0.15625

0

0.15625

0.3125

0.625

Velocidad [m/s]

(b) Figura 4.7: Distribuci´ on de los conjuntos difusos de entrada

4.3.2.

Base de conocimiento

Para el control de la din´ amica de la esfera se us´ o el c´ alculo de el error estimado y su velocidad como caracteristicas cinem´ aticas del la esfera, ya que el error estimado por si solo no indica mucho sobre el estado de la esfera, por su parte la velocidad nos indica el sentido y magnitud del movimiento de la esfera, siendo suficientes estas variables para conocer el estado de la esfera sobre el plano, de esta forma basandonos en el comportamiento del sistema PE en forma manual, encontramos un conjunto de reglas b´ asicas que se deben de respetar para que el sistema opere de forma correcta. 1. Si el Error de posici´ on es Negativo (N) y la Velocidad es Negativa (N), entonces el giro del plano ser´ a Negativo (N). 2. Si el Error de posici´ on es Positivo (P) y la Velocidad es Negativa (N), entonces el giro del plano ser´ a Positivo (N).

29

4.3. CONTROL DEL SISTEMA PLANO-ESFERA.

3. Si el Error de posici´ on es Cero (Z) y la Velocidad es Cero (Z), entonces el giro del plano ser´ a Cero (Z).

Figura 4.8: Comportamiento de las conjuntos difusos de entrada y salida.

Inclinaci´ on

Error estimado

NA NM Z PM PA

NA NA NA NA NA NA

Velocidad NM Z PM PM PM PA NM PM PA NA Z PA NA NM PM NA NM NM

PA PA PA PA PA PA

Tabla 4.2: Conjunto de reglas basadas en un experto.

4.3.3.

Mecanismo de inferencias

4.3.4.

Defuzificaci´ on

Gradodepertenencia

1

NA

NM

Z

PM

PA

0.5

0 -0.04364

-0.0235

0

0.0235

Posición angular [rad]

Figura 4.9: Distribuci´ on de los conjuntos difusos de salida

0.04364

Cap´ıtulo 5

Experimentos y resultados. 5.1.

M´ odulo de visi´ on

Para el sistema de visi´ on se coloc´ o el sensor digital de im´agenes a una distancia fija so-bre el plano de 0.638m. El tama˜ no del plano es de 0.5m x 0.5m, ver Fig. 5.1. El sensor digital de im´ agenes CMOS modelo MT9M011 [15], incorpora varias funciones de configuraci´ on, una de estas funciones especifica el tama˜ no de la imagen menor o igual al formato SXGA, la c´ amara fue configurada con una resoluci´ on de 1024H x 1024V para que la forma del plano coincida con la forma de la imagen, de esta manera se cubre toda el ´ area de trabajo. Debido al filtro de color Bayer [9] en el sensor, ser´ıa necesario interpolar para obtener los planos de color verde, rojo y azul, con los que se forma una imagen a color. Para evitar esto, se utiliz´ o el fondo negro y la esfera de color blanco, ya que el color blanco es la superposici´ on de todos los colores, para evitar la interpolaci´ on. Se utiliz´ o un FPGA Altera Cyclone II EP2C35F672C6 (el dispositivo se encuentra montado en la tarjeta DE2 de Altera Corporation) [2], en donde se implementaron las entidades que describen el comportamiento del m´ odulo de visi´ on. La primera tarea que realiza el m´ odulo, es la de configurar el sensor digital de im´ agenes a trav´es de una interfaz serie de dos v´ıas. Una vez configurado el sensor, los datos de la imagen son enviados al FPGA en un barrido progresivo. Despu´es, el m´ odulo de captura se sincroniza con la c´ amara para recibir los datos y aplicar la funci´ on de umbral para segmentar. El ruido se elimina de la imagen a trav´es de una transformaci´ on morfol´ ogica de erosi´ on. Conforme este u ´ ltimo m´ odulo aplica el elemento estructurante a cada dato de la imagen, se detectan los pixeles

(a)

(b) Figura 5.1: Sistema plano-esfera

30

(c)

´ ´ 5.1. MODULO DE VISION

31

que pertenecen a la esfera para determinar su centroide en el plano. Lo anterior, se describe en el lenguaje de descripci´ on de hardware que es mostrado en forma de bloques en la Fig. 5.2. En la etapa de dise˜ no de los componentes que conforman al m´ odulo de visi´ on, la

Figura 5.2: M´ odulo de visi´ on para el sistema plano-esfera.

imagen resultante de cada componente es almacenada en una memoria RAM embebida en el FPGA. Con ayuda de Quartus II Versi´ on 7.2 y con la herramienta In-System Memory Content Editor, se visualiz´ o la imagen y verific´ o su correcto funcio-namiento. En la Fig. 5.3, se muestran las im´ agenes resultantes del m´ odulo de visi´ on y en la Tabla 5.1, se presenta el c´ alculo de los centroides de algunas posiciones de la esfera sobre el plano. C´ alculo del centroide basado en imagen Imagen Esperado (x, y)∗ M´ odulo de visi´ on (x, y)∗ 1 (534,462) (534,462) 2 (131,142) (132,143) 3 (526,62) (526,63) 4 (832,182) (832,181) 5 (946,526) (946,525) 6 (788,752) (788,752) 7 (508,958) (508,958) 8 (288,752) (289,752) 9 (104,536) (104,536) *.Unidades dadas en pixeles Tabla 5.1: C´ alculo de centroide de Fig. 5.3

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

32

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figura 5.3: Im´ agenes del sistema plano-esfera procesadas por el m´ odulo de visi´ on

5.2.

Control difuso tipo Mamdani Error de la posicion ey

Error de la posicion ex 0.5

0.5

ey [m]

ex [m]

Movimiento del balin sobre el plano 0

0.5 0

← Inicio = (0.041504,0.45508)

0.45 0.4

0

5

−0.5

10

0

Tiempo [s]

0.35

10

Posicion angular θy

Posicion angular θx 0.04

0.04

0.02

0.02

θ y [rad]

θ x [rad]

5

Tiempo [s]

0 −0.02

Eje Y [m]

−0.5

0.3

← Fin = (0.25293,0.25391)

0.25 0.2 0.15

0

0.1 −0.02

0.05 −0.04

−0.04 0

5

10

0

5

Tiempo [s]

Tiempo [s]

10

0

0

0.1

0.2

(a)

0.3

Eje X[m]

(b) Figura 5.4: Comportamiento del sistema PE

0.4

0.5

33

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.5

ey [m]

ex [m]

0.5

0

−0.5

0

5

0

−0.5

10

0

Tiempo [s]

10

Posicion angular θy

Posicion angular θx 0.04

0.02

0.02

θ y [rad]

0.04

θ x [rad]

5

Tiempo [s]

0 −0.02

0 −0.02

−0.04

−0.04 0

5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5

← Inicio = (0.25732,0.47705)

0.45 0.4

Eje Y [m]

0.35 0.3

← Fin = (0.25293,0.25391)

0.25 0.2 0.15 0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.5: Comportamiento del sistema PE

0.5

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

34

Error de la posicion ey

Error de la posicion ex 0.5

ey [m]

ex [m]

0.5

0

−0.5

0

5

0

−0.5

10

0

Tiempo [s]

10

Posicion angular θy

Posicion angular θx 0.04

0.02

0.02

θ y [rad]

0.04

θ x [rad]

5

Tiempo [s]

0 −0.02

0 −0.02

−0.04

−0.04 0

5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3

← Fin = (0.25049,0.24854)

0.25 0.2 0.15 0.1 0.05

← Inicio = (0.46484,0.022461) 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.6: Comportamiento del sistema PE

0.5

35

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.5

ey [m]

ex [m]

0.5

0

−0.5

0

5

0

−0.5

10

0

Tiempo [s]

10

Posicion angular θy

Posicion angular θx 0.04

0.02

0.02

θ y [rad]

0.04

θ x [rad]

5

Tiempo [s]

0 −0.02

0 −0.02

−0.04

−0.04 0

5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3

← Fin = (0.25244,0.25244)

0.25 0.2 0.15 0.1 0.05 0

← Inicio = (0.24951,0.020996) 0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.7: Comportamiento del sistema PE

0.5

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

36

Error de la posicion ey

Error de la posicion ex 0.5

ey [m]

ex [m]

0.5

0

−0.5

0

5

0

−0.5

10

0

Tiempo [s]

10

Posicion angular θy

Posicion angular θx 0.04

0.02

0.02

θ y [rad]

0.04

θ x [rad]

5

Tiempo [s]

0 −0.02

0 −0.02

−0.04

−0.04 0

5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3

← Fin = (0.25098,0.25293)

0.25 0.2 0.15 0.1 0.05 0

← Inicio = (0.032227,0.038086) 0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.8: Comportamiento del sistema PE

0.5

37

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3

← Inicio = (0.23926,0.24707)

0.25 0.2 0.15

← Fin = (0.12207,0.12451)

0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.9: Comportamiento del sistema PE

0.5

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

38

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5

← Inicio = (0.041016,0.46045)

0.45 0.4

Eje Y [m]

0.35 0.3 0.25 0.2 0.15

← Fin = (0.12744,0.12842)

0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.10: Comportamiento del sistema PE

0.5

39

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3 0.25 0.2 0.15

← Fin = (0.125,0.12646)

0.1 0.05 0

← Inicio = (0.27441,0.025879) 0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.11: Comportamiento del sistema PE

0.5

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

40

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45 0.4

Eje Y [m]

0.35 0.3 0.25

← Inicio = (0.47217,0.23584)

0.2 0.15

← Fin = (0.12598,0.12549)

0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.12: Comportamiento del sistema PE

0.5

41

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45

← Fin = (0.43896,0.44043)

0.4

Eje Y [m]

0.35 0.3 0.25 0.2 0.15

← Inicio = (0.25244,0.1084)

0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.13: Comportamiento del sistema PE

0.5

CAP´ITULO 5. EXPERIMENTOS Y RESULTADOS.

42

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45

← Fin = (0.43896,0.44043)

0.4

Eje Y [m]

0.35 0.3 0.25 0.2 0.15

← Inicio = (0.25244,0.1084)

0.1 0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.14: Comportamiento del sistema PE

0.5

43

5.2. CONTROL DIFUSO TIPO MAMDANI

Error de la posicion ey

Error de la posicion ex 0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

ey [m]

0.5

ex [m]

0.5

0

0

−0.1

−0.1

−0.2

−0.2

−0.3

−0.3

−0.4

−0.4

−0.5

0

5

−0.5

10

0

Tiempo [s]

5

10

Tiempo [s]

(a)

Movimiento del balin sobre el plano 0.5 0.45

← Fin = (0.44336,0.44141)

0.4

Eje Y [m]

0.35 0.3 0.25 0.2 0.15 0.1

← Inicio = (0.049316,0.0625)

0.05 0

0

0.1

0.2

0.3

0.4

Eje X[m]

(b) Figura 5.15: Comportamiento del sistema PE

0.5

Cap´ıtulo 6

Conclusiones. El procesamiento de im´ agenes binarias implementado en FPGA utilizado para el c´ alculo del centroide de la esfera dentro del plano, presenta una m´ınima desviaci´ on de un p´ıxel con respecto de la posici´ on esperada, debido a que las pruebas se realizaron en condiciones de iluminaci´ on naturales en el laboratorio. Todo el procesamiento de la imagen capturada por la c´ amara se realiza en l´ınea. El t´ermino en l´ınea, nos dice que conforme se leen los datos de la imagen, estos son procesados en el FPGA sin necesidad de almacenarla en su totalidad, s´ olo se necesita almacenar tres l´ıneas de la imagen en un registro de desplazamiento, por lo que para la obtenci´ on del centroide, se tiene un retraso aproximado de dos l´ıneas de la imagen y dos pixeles, lo cual representa una ventaja con respecto a equipos convencionales (PCs). Tanto la obtenci´ on del grado de pertenencia, como el mecanismo de inferencia de las 25 reglas, se llevaron a cabo en procesos concurrentes y la defuzificaci´ on se realiz´ o en un proceso serie, ya que su costo computacional no es elevado y as´ı se disminuye el consumo de recursos empleados en el FPGA. Con lo que se obtuvo un tiempo de procesamiento para el controlador difuso de 706.5 ns. La metodolog´ıa planteada en este trabajo de tesis y su implementaci´ on en un dispositivo programable a podido resolver la tarea que impone el sistema PE. Los resultados arrojados en el Capitulo 5 muestran que el controlador difuso tipo Mamdani discreto coloca la esfera en cualquier posici´ on dentro de un espacio de trabajo de 0.40m x 0.40m, con un error en el peor caso del 7mm con respecto de la posici´ on deseada. El espacio de trabajo se ve reducido por la respuesta transitoria oscilatoria que tiene un pico de sobrepaso m´ aximo de 5cm. El tiempo promedio que tarda en estabilizarse el sistema es de 4seg.

44

Cap´ıtulo 7

Trabajos Futuros. Como trabajo futuro, agregar al controlador presentado en esta tesis un controlador difuso que supervise el seguimiento de trayectorias de la esfera sobre el plano. Desarrollar un controlador difuso tipo Takagi-Sugeno para esta plataforma y hacer una comparativa de desempe˜ no con el controlador presentado en esta tesis. Incrementar la capacidad de procesamiento de im´ agenes en el FPGA, para poder realizar tareas m´ as complejas como el seguimiento o evasi´ on de obst´ aculos sobre el ´ area de trabajo del sistema PE. As´ı como desarrollar nuevas estrategias de control y arquitecturas en FPGA, para verificar su desempe˜ no en el sistema PE.

45

Referencias [1] Wai Lun Lo A. B. Rad, P. T. Chan and C. K. Mok. An online learning fuzzy controller. IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, 50(5):1016– 1021, Octubre 2003. [2] Altera Corporation. DE2 Development and Education Board - User Manual, 2006. [3] Rajko Svecko Andrej Knuplez, Amor Chowdhury. Modeling and control design for the ball and plate system. ICIT-IEEE, pages 1064–1067, 2003. [4] S´ anchez Mart´ınez Miguel Angel. Dise˜ no de un circuito comparador de im´ agenes. Master’s thesis, CINVESTAV del I. P. N., Departamento de ingenier´ıa el´ectrica, Secci´on de computaci´ on, M´exico D.F., Julio 2005. [5] Ing. V´ıctor Manuel Salda˜ na Garc´ıa. Control visual de un sistema mesa-esfera con c´ amara fija. Master’s thesis, CINVESTAV del I. P. N., Departamento de ingenier´ıa el´ectrica, Secci´ on de control autom´ atico, M´exico D.F., Marzo 1999. [6] Z. Sui X. Zhang H. Wang, Y. Tian and C. Ding. Tracking control of ball and plate system with a double feedback loop structure. In Proc. 2007 IEEE International Conference on Modeling and Automation, August 2007. [7] Chang-Kuo Chen Teh-Lu Liao Hsin-Chieh Chen, Yung-Ching Hung and Chun-Kuo Chen. Images processing algorithms realized by discrete-time cellular neural networks and their circuit implementations. Chaos, Solitons and Fractals, 29(5):1100–1108, September 2006. [8] Ming-Kuei Hu. Visual pattern recognition by moment invariants. IRE Transactions on Information Theory, 8(2):179–187, February 1962. [9] HUMUSOFT. HUMUSOFT CE151, Ball and Plate Apparatus Users Manual. [10] HUMUSOFT. HUMUSOFT Real Time Toolbox for use with MATLAB Users Manual. [11] J. Su M. Bai, H. Lu and Y. Tian. Motion control of ball and plate system using supervisory fuzzy controller. In Proc. 6th World Congree on Intelligent Control and Automation, 2006. [12] Mohsen Saadat Miad Moarref and Gholamreza Vossoughi. Mechatronic design and position control of a novel ball and plate system. 16th Mediterranean Conference on Control and Automation-IEEE, pages 1071–1076, June 2008. 46

REFERENCIAS

47

[13] Richard E. Woods Rafael C. Gonzalez and Steven L. Eddins. Digital Image Processing using Matlab. Prentice Hall, 2004. [14] IEEE Computer Society. IEEE Standard VHDL Language Reference Manual. January 2000. [15] Micron Technology. 1/3-inch megapixel cmos active-pixel digital image sensor. Datasheet MT9M011. [16] Shujie Teng Xingzhe Fan, Naiyao Zhang. Trajectory planning and tracking ofball and plate system using hierarchical fuzzy control scheme. Fuzzy Sets and Systems, Elsevier, March 2003. [17] Fernando Pardo Carpio y Jos´e A. Boluda Grau. VHDL: Lenguaje para s´ıntesis y modelado de circuitos. Alfaomega RA-MA, 1999.

Suggest Documents