11
CONTROL INTELIGENTE DE PUERTAS DE GARAJE 1. OBJETIVOS 1.1 OBJETIVO GENERAL Diseñar un Sistema Experto que permita controlar un sistema de seguridad adecuado de las puertas automáticas de un garaje. 1.2 OBJETIVOS ESPECÍFICOS Plantear un conjunto de reglas que permitan abrir la puerta de un garaje cuando el auto del propietario se acerque Mediante encadenamiento estudiar estudiar la eficiencia de las reglas Simular el proyecto mediante algún programa 2. FUNDAMENTO TEÓRICO 2.2 INTRODUCCIÓN Durante años la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones teóricas y al desarrollo de experimentos a través de programas que demostraran “actitudes inteligentes”, con estos programas se pretendía que la máquina jugara ajedrez, demostrara teoremas matemáticos, etc. No fue hasta los años 70 que surgió un nuevo paradigma en la Inteligencia Artificial “los Sistemas Expertos”, cuya función es desarrollar trabajos similares a los que desarrollaría un especialista en un área determinada, la idea no es sustituir a los expertos, sino que estos sistemas sirvan de apoyo a los especialistas en un “dominio” de aplicación específico. Estos sistemas expertos son en lo esencial sistemas de computación basados en conocimientos cuyos componentes representan un enfoque cualitativo de la programación. Muchas personas pueden creer que un Sistema Experto (SE) es un sistema compuesto por subsistemas y a su vez estos por otros subsistemas hasta llegar a los programas. Podemos decir que un Sistema Experto es una Base de Conocimientos (BC), una Base de Hechos (BH) y un Motor (o Máquina) de Inferencias (MI). Por otra parte estos sistemas no se miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay contenida en su Base de Conocimientos

Control Inteligente de Puertas de Garaje Revisenlo

Embed Size (px)

Citation preview

Page 1: Control Inteligente de Puertas de Garaje Revisenlo

CONTROL INTELIGENTE

DE PUERTAS DE GARAJE

1. OBJETIVOS1.1 OBJETIVO GENERAL

Diseñar un Sistema Experto que permita controlar un sistema de seguridad adecuado de las puertas automáticas de un garaje.

1.2 OBJETIVOS ESPECÍFICOS Plantear un conjunto de reglas que permitan abrir la puerta de un garaje cuando el auto del

propietario se acerque Mediante encadenamiento estudiar estudiar la eficiencia de las reglas Simular el proyecto mediante algún programa2. FUNDAMENTO TEÓRICO

2.2 INTRODUCCIÓN

Durante años la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones teóricas y al desarrollo de experimentos a través de programas que demostraran “actitudes inteligentes”, con estos programas se pretendía que la máquina jugara ajedrez, demostrara teoremas matemáticos, etc.No fue hasta los años 70 que surgió un nuevo paradigma en la Inteligencia Artificial “los Sistemas Expertos”, cuya función es desarrollar trabajos similares a los que desarrollaría un especialista en un área determinada, la idea no es sustituir a los expertos, sino que estos sistemas sirvan de apoyo a los especialistas en un “dominio” de aplicación específico.Estos sistemas expertos son en lo esencial sistemas de computación basados en conocimientos cuyos componentes representan un enfoque cualitativo de la programación. Muchas personas pueden creer que un Sistema Experto (SE) es un sistema compuesto por subsistemas y a su vez estos por otros subsistemas hasta llegar a los programas.Podemos decir que un Sistema Experto es una Base de Conocimientos (BC), una Base de Hechos (BH) y un Motor (o Máquina) de Inferencias (MI). Por otra parte estos sistemas no se miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay contenida en su Base de Conocimientos

3. DESARROLLO DEL PROYECTO3.1 TABLA OBJETO-VALOR

En esta tabla representamos en una tabla los objetos que tomamos de referencia y los distintos valores que puede adoptar cada uno, en nuestro casa para hacer un garaje automatico encontramos los siguientes objetos y sus valores:

OBJETO VALORES

Color {Correcto, Incorrecto}Auto {Verdadero, Falso}

Ubicación {Dentro del Rango, Fuera de Rango}Puerta {Abrir, Cerrar}

Page 2: Control Inteligente de Puertas de Garaje Revisenlo

3.2 SISTEMA DE PRODUCCION MEDIANTE REGLAS SI - ENTONCES

Las reglas que pudimos obtener basándonos en nuestra tabla de Objeto-Valor son las siguientes:

R1.- si color= correcto Λ Auto= verdadero ΛUbicación= dentro del rango ΛPuerta = abrir

Entonces

Garaje = abrir

R2.- si color = incorrecto

Entonces

Garaje=cerrado

R3.- si auto = falso

Entonces

Garaje=cerrado

R4.- si ubicación=fuera del rango

Entonces

Garaje=cerrado

Para hacer las reglas se toman los siguientes valores de h:

Color-correcto → h1

Color-incorrecto → h2

Auto-verdadero → h3

Auto-falso → h4

Ubicación-fuera del rango → h5

Ubicación-dentro del rango→h6

Puerta-abrir →h7

Puerta-cerrar → h8

Prender-cámara → h9

Energizar circuito → h10

Page 3: Control Inteligente de Puertas de Garaje Revisenlo

Prender-luces → h11

Tomar-fotos → h12

Cámara apagada →h13

Con estos valores de hi nos salen las siguientes reglas las cuales usamos para poder efectuar un encadenamiento siendo esta la ¨Base de conocimiento¨

R1.- si h1 Λ h3 Λ h6 → h9

R2.- si h9 →h10

R3.- si h10 Λ h6 → h12

R4.- si h12 Λ h1 Λ h3 Λ h6 Λ h11→ h7

R5.- si h2 Λ h4 Λ h5 → h13

R6.- si h6 Λ h12 Λ h3 Λ h1→h11

R7.- si h4 Λ h6 → h8

R8.- si h3 Λ h5 → h13

R9.- si h13 Λ h5 Λ h2→ h8

R10.-si h6 → h9

R11.- si h3 Λ h1 Λ h9→h10

3.3 BASE DE HECHO INICIAL

De la base del conocimiento tomaremos como base de hechos inicial:

Color-correcto → h1Auto-verdadero → h3Ubicación-dentro del rango→h6

En esta tabla se muestran los valores usados como la Base de Hechos Inicial, dotando asi a nuestro sistema experto de una base de hechos inicial para poder realizar tanto el encadenamiento hacia adelante y el encadenamiento hacia atrás.

Page 4: Control Inteligente de Puertas de Garaje Revisenlo

3.4 ENCADENAMIENTO HACIA ADELANTE

El objetivo del encadenamiento hacia adelante es encontrar el h7 que en este caso sería el abrir la puerta.

ENCADENAMIENTO HACIA ADELANTE

BdH0

conjunto conflicto Reglas a Aplicar

BdH1 BdH2 BdH3 BdH4 BdH5

h1 R1,R10 (1<10) R1 h1 h1 h1 h1 h1

h3 R2,R10,R11(2<10,11) R2 h3 h3 h3 h3 h3

h6 R3,R10,R11(3<10,11) R3 h6 h6 h6 h6 h6R6,R10,R11(6<,10,11)

R6 h9 h9 h9 h9 h9

R4,R10,R11(4<10,11) R4 h10 h10 h10 h10h12 h12 h12

h11 h11h7

3.5 ENCADENAMIENTO HACIA ATRÁS

ENCADENAMIENTO HACIA ATRÁSh7

BdH0 conjunto conflicto Reglas a Aplicar

BdH1 BdH2 BdH3 BdH4

h12 R3,R6 R3 h12 h12 h12 h12h12 R6,R2 R2 h12 h12 h12 h12h3 R6,R1,R11 R6 h3 h3 h3 h3h6 R6,R11,R9 R6 h6 h6 h6 h6h11 R11,R9 R9 h11 h11 h11 h11

h10 h10 h10 h10h9 h9 h9

En ambos tipos de encadenamiento como ser el ¨¨encadenamiento hacia adelante¨¨ y el ¨¨encadenamiento hacia atrás¨¨ se puede notar que se llega a la meta deseada que en nuestro caso es h7 ¨¨abrir el garaje¨¨ ya que para que esto ocurra nuestro sistema experto debe razonar de una manera en la que pueda identificar el auto del propietario para poder abrir el garaje o mantenerlo cerrado.

Page 5: Control Inteligente de Puertas de Garaje Revisenlo

3.6 REPRESENTACION NO FORMAL DEL CONOCIMIENTO

Con la siguiente red semántica se mostraran los pasos básicos del presente proyecto. Siguiendo el siguiente orden de los colores, para su mayor compresión.

1. Amarillo2. Azul 3. Verde

ES ENTONCES

ES ES LA

ENTONCES

ES ENTONCES LA

ES

ES

ENTONCES

FIGURA 1. RED SEMANTICA CON DIFERENTES RELACIONES DEL GARAJE INTELIGENTE

Donde se pudo observar que en caso de que no se cumpla uno de los requisitos, la puerta del garaje permanecerá cerrada, pero cuando se cumplan todos ellos la puerta se abrirá.

3.7 SIMULACION

Con el software de MATLAB, se realizó el procesamiento digital de señales visuales y a partir de ella se tomaron las decisiones con inteligencia artificial, tomando en cuenta el histograma de colores que tendrá la imagen en tiempo real con la imagen patrón de la misma.

UBICACION INCORRECTA

CORRECTA

COLOR

AUTOMOVIL

PUERTA

ABRIR

CERRAR

Page 6: Control Inteligente de Puertas de Garaje Revisenlo

Se utilizó el siguiente automóvil de juguete:

FIGURA 2: AUTOMOVIL DE JUGUETE

Y nuestra imagen patrón fue tomada con la cámara web para evitar diferencias respecto a la resolución de las mismas:

FIGURA 3: IMAGEN PATRÓN

Page 7: Control Inteligente de Puertas de Garaje Revisenlo

Se utilizó el siguiente código en el MATLAB:

function garaje_inteligente close all;clear all;clc; % calculo de patron originalpatron = imread('autopatron.jpg');patron = imresize(patron, [500 500]);[hpr,hpg,hpb] = hist_imagen(patron); % adquirir la imagenobj = videoinput('winvideo', 1);set(obj, 'SelectedSourceName', 'input1')src_obj = getselectedsource(obj);get(src_obj)preview(obj); captura = getsnapshot(obj);image(captura); toma = imresize(captura, [500 500]);[hprur hprug hprub] = hist_imagen(toma); % la imagen adquirida se compara con los patroninr = comparacion(hpr, hprur);ing = comparacion(hpg, hprug);inb = comparacion(hpb, hprub); % se toma una desicionif (inr > 0.5) && (ing > 0.5) && (inb > 0.5) subplot(2,2,1), image(imread('open.jpg')) title('ABRIR GARAJE') else

subplot(2,2,1), image(imread('closed.jpg')) title('CERRAR GARAJE') end % imprime patron y pruebasubplot(2,2,2), image(patron)title('PATRON')subplot(2,2,3), image(toma)title('CAMARA EN VIVO') endfunction [hr,hg,hb]=hist_imagen(imagen)PR = imagen(:,:,1);PG = imagen(:,:,2);

Page 8: Control Inteligente de Puertas de Garaje Revisenlo

PB = imagen(:,:,3);PR = double(PR);PG = double(PG);PB = double(PB);hr = sum(hist(PR,256)'); % genera el histograma rojohg = sum(hist(PG,256)'); % genera el histograma verdehb = sum(hist(PB,256)'); % genera el histograma azulhr(1) = 0; hr(end) = 0; % suprime informacion 0 y 255 hg(1) = 0; hg(end) = 0; % lo mismo que el anterior pasohb(1) = 0; hb(end) = 0; % lo mismo que el anterior paso endfunction indice = comparacion(a,b)% a es la originalindice = sum(min(a,b))/sum(a);end

Y tras obtener la imagen por la cámara web se obtuvo el siguiente resultado:

FIGURA 4: DESICIÓN FINAL DEL GARAJE INTELIGENTE

Page 9: Control Inteligente de Puertas de Garaje Revisenlo

4. ConclusionesSe cumplió con el objetivo del proyecto, debido a que se logró desarrollar las reglas necesarias para satisfacer a nuestro sistema experto permitiendo que este pueda decidir entre la apertura o no de la puerta del garaje si es que detecta el automóvil del propietario, en una simulación y tratando de implementarlo por la toma de fotos en tiempo real por medio d una cámara que constantemente va evaluando lo que se encuentra en su rango de alcance, permitiendo que el sistema experto tome una decisión certera.

El caso planteado es muy simple, ya que en la vida real se tiene situación mucho más complejas para las cuales se desarrollaran muchas otras reglas que pueden incluir otras situaciones que no se vieron en este proyecto, como ser muchas mas características para reconocer el automóvil del propietario, la activación de alarmas, la confirmación por distintas variables que se pueden presentar en la vida real.

Finalmente se puede decir que el proyecto fue un éxito, se cumplieron los objetivos y se demostró la eficiencia de las reglas planteadas, se aprendió sobre el desarrollo de las mismas y las infinitas variaciones que pueden existir en la realidad.

5. Bibliografia “Inteligencia Artificial”, Luis Carlos Torrez Soler, Universidad Nacional de

Colombia. “Inteligencia Artificial: Un Enfoque Moderno”, Stuart Russel & Peter Norvig,

Pearson Prentice Hall. “Digital Signal Processing Laboratory Using MATLAB”, Sangit K. Mitra, Mc

Graw Hill.